rss-bridge/docs/04_For_Developers/04_Actions.md

4.1 KiB

RSS-Bridge currently supports three 'actions' which it can operate:

  1. Display (?action=display)
  2. Detect (?action=detect)
  3. List (?action=list)

Display

The display action returns feeds generated by bridges. It requires additional parameter, some of which are specific to each bridge (see implementation details for your specific bridge). The following list contains mandatory parameter applicable to all bridges, excluding parameters that require additional options. Errors are returned for missing mandatory parameters:

Parameter Required Description
bridge yes Specifies the name of the bridge to display. Possible values are determined from the bridges available to the current instance of RSS-Bridge and the whitelist.
format yes Specifies the name of the format to use for displaying the feed. Possible values are determined from the formats available to the current instance of RSS-Bridge.

Detect

The detect action attempts to redirect the user to an appropriate display action for a feed based on a supplied URL. As bridges have to individually implement this it may not work for every bridge.

If an appropriate bridge is found, a 301 Moved Permanently HTTP status code is returned with a relative location for a display action. If no appropriate bridge is found or a required parameter is missing, a 400 Bad Request status code is returned.

The parameters for this action are listed bellow:

Parameter Required Description
url yes Specifies the URL to attempt to find a feed from. The value of this should be URL encoded.
format yes Specifies the name of the format to use for displaying the feed. This is passed to the detected display action. Possible values are determined from the formats available to the current instance of RSS-Bridge.

List

The list action returns a JSON formatted text containing information on all bridges available to the current instance of RSS-Bridge. Inactive bridges (not whitelisted) are included as well. Broken bridges are also included, but with limited parameters (only "status": "inactive").

This example shows JSON data for a single bridge:

{
    "bridges": {
        "ABCTabs": {
            "status": "active",
            "uri": "https:\/\/www.abc-tabs.com\/",
            "name": "ABC Tabs Bridge",
            "parameters": [],
            "maintainer": "kranack",
            "description": "Returns 22 newest tabs"
        }
    },
    "total": 1
}

The top-level JSON object contains two parameters:

  • bridges: A collection of bridges
  • total: The total number of bridges
{
  "bridges": { },
  "total": 0
}

bridges

The bridges parameter is a collection of bridge objects. The name of each object represents the name of the bridge as needed for the display action. Each object contains parameters, most of which are optional. The following table summarizes the parameters:

Parameter Optional Description
status No Indicates the status of the bridge. Possible values are 'active' and 'inactive'. Only active bridges can be used for the display action.
uri Yes Returns the URI of the bridge, as returned by the getURI function of the bridge.
name Yes Returns the name of the bridge, as returned by the getName function of the bridge.
parameters Yes Returns the PARAMETERS object of the bridge
maintainer Yes Returns the name(s) of maintainer(s) for the bridge
description Yes Returns the description of the bridge

total

This parameter represents the total number of bridges available to the current instance of RSS-Bridge.