Requester
The Requester defines how to prepare HTTP requests to send to the source API.
There is currently only one implementation, the HttpRequester, which is defined by
- A base url: The root of the API source
- A path: The specific endpoint to fetch data from for a resource
- The HTTP method: the HTTP method to use (GET or POST)
- A request options provider: Defines the request parameters (query parameters), headers, and request body to set on outgoing HTTP requests
- An authenticator: Defines how to authenticate to the source
- An error handler: Defines how to handle errors
The schema of a requester object is:
Requester:
  type: object
  anyOf:
    - "$ref": "#/definitions/HttpRequester"
HttpRequester:
  type: object
  additionalProperties: true
  required:
    - url_base
    - path
  properties:
    "$parameters":
      "$ref": "#/definitions/$parameters"
    url_base:
      type: string
      description: "base url"
    path:
      type: string
      description: "path"
    http_method:
      "$ref": "#/definitions/HttpMethod"
      default: "GET"
    request_options_provider:
      "$ref": "#/definitions/RequestOptionsProvider"
    authenticator:
      "$ref": "#/definitions/Authenticator"
    error_handler:
      "$ref": "#/definitions/ErrorHandler"
HttpMethod:
  type: string
  enum:
    - GET
    - POST
Configuring request parameters and headers
The primary way to set request parameters and headers is to define them as key-value pairs using a RequestOptionsProvider.
Other components, such as an Authenticator can also set additional request params or headers as needed.
Additionally, some stateful components use a RequestOption to configure the options and update the value. Example of such components are Paginators and Partition routers.