Skip to content

Latest commit

 

History

History
60 lines (51 loc) · 2.03 KB

File metadata and controls

60 lines (51 loc) · 2.03 KB

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

  1. A base url: The root of the API source
  2. A path: The specific endpoint to fetch data from for a resource
  3. The HTTP method: the HTTP method to use (GET or POST)
  4. A request options provider: Defines the request parameters (query parameters), headers, and request body to set on outgoing HTTP requests
  5. An authenticator: Defines how to authenticate to the source
  6. 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.

More readings