Class: BaseJsonService

(abstract) core/base-service/base-json~BaseJsonService()

Services which query a JSON endpoint should extend BaseJsonService

Constructor

(abstract) new BaseJsonService()

Source:

Methods

_parseJson(buffer) → {object}

Parse data from JSON endpoint

Parameters:
Name Type Description
buffer string

JSON response from upstream API

Source:
Returns:

Parsed response

Type
object

(async) _requestJson(attrs) → {object}

Request data from an upstream API serving JSON, parse it and validate against a schema

Parameters:
Name Type Description
attrs object

Refer to individual attrs

Properties
Name Type Attributes Default Description
schema Joi

Joi schema to validate the response against

url string

URL to request

options object <optional>
{}

Options to pass to got. See documentation

httpErrors object <optional>
{}

Key-value map of status codes and custom error messages e.g: { 404: 'package not found' }. This can be used to extend or override the default

systemErrors object <optional>
{}

Key-value map of got network exception codes and an object of params to pass when we construct an Inaccessible exception object e.g: { ECONNRESET: { prettyMessage: 'connection reset' } }. See got error codes for allowed keys and module:core/base-service/errors~RuntimeErrorProps for allowed values

logErrors Array.<number> <optional>
[429]

An array of http error codes that will be logged (to sentry, if configured).

Source:
See:
Returns:

Parsed response

Type
object