Options
All
  • Public
  • Public/Protected
  • All
Menu

Class KintoClientBase

High level HTTP client for the Kinto API.

example

const client = new KintoClient("https://kinto.dev.mozaws.net/v1"); client.bucket("default") .collection("my-blog") .createRecord({title: "First article"}) .then(console.log.bind(console)) .catch(console.error.bind(console));

Hierarchy

Index

Constructors

constructor

Properties

Private _backoffReleaseTime

_backoffReleaseTime: number | null

Private _headers

_headers: Record<string, string>

Private _isBatch

_isBatch: boolean

Private _remote

_remote: string

Private _requests

_requests: KintoRequest[]

Private _retry

_retry: number

Private _safe

_safe: boolean

Private _version

_version: string

endpoints

endpoints: typeof endpoints

Optional events

events: Emitter

http

http: HTTP

serverInfo

serverInfo: HelloResponse | null

Accessors

backoff

  • get backoff(): number
  • Backoff remaining time, in milliseconds. Defaults to zero if no backoff is ongoing.

    Returns number

version

  • get version(): string
  • The current server protocol version, eg. v1.

    Returns string

Methods

Private _batchRequests

  • _batchRequests(requests: KintoRequest[], options?: { headers?: Record<string, string>; retry?: undefined | number }): Promise<OperationResponse[]>
  • Process batch requests, chunking them according to the batch_max_requests server setting when needed.

    Parameters

    • requests: KintoRequest[]

      The list of batch subrequests to perform.

    • Default value options: { headers?: Record<string, string>; retry?: undefined | number } = {}
      • Optional headers?: Record<string, string>
      • Optional retry?: undefined | number

    Returns Promise<OperationResponse[]>

Private _getHeaders

  • _getHeaders(options: { headers?: Record<string, string> }): Record<string, string>
  • Get the value of "headers" for a given request, merging the per-request headers with our own "default" headers.

    Note that unlike other options, headers aren't overridden, but merged instead.

    Parameters

    • options: { headers?: Record<string, string> }

      The options for a request.

      • Optional headers?: Record<string, string>

    Returns Record<string, string>

Private _getHello

  • _getHello(options?: { headers?: Record<string, string>; retry?: undefined | number }): Promise<HelloResponse>
  • Retrieves the server's "hello" endpoint. This endpoint reveals server capabilities and settings as well as telling the client "who they are" according to their given authorization headers.

    Parameters

    • Default value options: { headers?: Record<string, string>; retry?: undefined | number } = {}
      • Optional headers?: Record<string, string>
      • Optional retry?: undefined | number

    Returns Promise<HelloResponse>

Private _getRetry

  • _getRetry(options: { retry?: undefined | number }): number
  • As _getSafe, but for "retry".

    Parameters

    • options: { retry?: undefined | number }
      • Optional retry?: undefined | number

    Returns number

Private _getSafe

  • _getSafe(options: { safe?: undefined | false | true }): boolean
  • Get the value of "safe" for a given request, using the per-request option if present or falling back to our default otherwise.

    Parameters

    • options: { safe?: undefined | false | true }

      The options for a request.

      • Optional safe?: undefined | false | true

    Returns boolean

Private _registerHTTPEvents

  • _registerHTTPEvents(): void

bucket

  • bucket(name: string, options?: { headers?: Record<string, string>; retry?: undefined | number; safe?: undefined | false | true }): Bucket
  • Retrieve a bucket object to perform operations on it.

    Parameters

    • name: string

      The bucket name.

    • Default value options: { headers?: Record<string, string>; retry?: undefined | number; safe?: undefined | false | true } = {}
      • Optional headers?: Record<string, string>
      • Optional retry?: undefined | number
      • Optional safe?: undefined | false | true

    Returns Bucket

createAccount

  • createAccount(username: string, password: string): Promise<KintoResponse<{ password: string }>>

createBucket

  • createBucket<T>(id: string | null, options?: { data?: T & { id?: undefined | string }; headers?: Record<string, string>; permissions?: Partial<Record<Permission, string[]>>; retry?: undefined | number; safe?: undefined | false | true }): Promise<KintoResponse<T>>
  • Creates a new bucket on the server.

    Type parameters

    Parameters

    • id: string | null

      The bucket name (optional).

    • Default value options: { data?: T & { id?: undefined | string }; headers?: Record<string, string>; permissions?: Partial<Record<Permission, string[]>>; retry?: undefined | number; safe?: undefined | false | true } = {}
      • Optional data?: T & { id?: undefined | string }
      • Optional headers?: Record<string, string>
      • Optional permissions?: Partial<Record<Permission, string[]>>
      • Optional retry?: undefined | number
      • Optional safe?: undefined | false | true

    Returns Promise<KintoResponse<T>>

Private execute

  • execute<T>(request: KintoRequest, options?: { fields?: string[]; query?: undefined | {}; raw?: undefined | false | true; retry?: undefined | number; stringify?: undefined | false | true }): Promise<T | HttpResponse<T>>
  • Executes an atomic HTTP request.

    Type parameters

    • T

    Parameters

    • request: KintoRequest

      The request object.

    • Default value options: { fields?: string[]; query?: undefined | {}; raw?: undefined | false | true; retry?: undefined | number; stringify?: undefined | false | true } = {}
      • Optional fields?: string[]
      • Optional query?: undefined | {}
      • Optional raw?: undefined | false | true
      • Optional retry?: undefined | number
      • Optional stringify?: undefined | false | true

    Returns Promise<T | HttpResponse<T>>

fetchHTTPApiVersion

  • fetchHTTPApiVersion(options?: { retry?: undefined | number }): Promise<string>
  • Retrieve authenticated user information.

    Parameters

    • Default value options: { retry?: undefined | number } = {}
      • Optional retry?: undefined | number

    Returns Promise<string>

fetchServerCapabilities

  • fetchServerCapabilities(options?: { retry?: undefined | number }): Promise<{}>
  • Retrieve server capabilities information.

    Parameters

    • Default value options: { retry?: undefined | number } = {}
      • Optional retry?: undefined | number

    Returns Promise<{}>

fetchServerInfo

  • fetchServerInfo(options?: { retry?: undefined | number }): Promise<HelloResponse>
  • Retrieves server information and persist them locally. This operation is usually performed a single time during the instance lifecycle.

    Parameters

    • Default value options: { retry?: undefined | number } = {}
      • Optional retry?: undefined | number

    Returns Promise<HelloResponse>

fetchServerSettings

  • fetchServerSettings(options?: { retry?: undefined | number }): Promise<ServerSettings>
  • Retrieves Kinto server settings.

    Parameters

    • Default value options: { retry?: undefined | number } = {}
      • Optional retry?: undefined | number

    Returns Promise<ServerSettings>

fetchUser

  • fetchUser(options?: { headers?: Record<string, string>; retry?: undefined | number }): Promise<User | undefined>
  • Retrieve authenticated user information.

    Parameters

    • Default value options: { headers?: Record<string, string>; retry?: undefined | number } = {}
      • Optional headers?: Record<string, string>
      • Optional retry?: undefined | number

    Returns Promise<User | undefined>

listBuckets

  • listBuckets(options?: PaginatedListParams & { fields?: string[]; filters?: Record<string, string | number>; headers?: Record<string, string>; retry?: undefined | number; since?: undefined | string }): Promise<PaginationResult<KintoObject>>
  • Retrieves the list of buckets.

    Parameters

    • Default value options: PaginatedListParams & { fields?: string[]; filters?: Record<string, string | number>; headers?: Record<string, string>; retry?: undefined | number; since?: undefined | string } = {}

    Returns Promise<PaginationResult<KintoObject>>

listPermissions

Private paginatedList

  • Fetch some pages from a paginated list, following the next-page header automatically until we have fetched the requested number of pages. Return a response with a .next() method that can be called to fetch more results.

    Type parameters

    • T

    Parameters

    • path: string
      The path to make the request to.
    • Default value params: PaginatedListParams = {}
      The parameters to use when making the request.
    • Default value options: { headers?: Record<string, string>; retry?: undefined | number } = {}
      • Optional headers?: Record<string, string>
      • Optional retry?: undefined | number

    Returns Promise<PaginationResult<T>>

setHeaders

  • setHeaders(headers: Record<string, string>): void
  • Set client "headers" for every request, updating previous headers (if any).

    Parameters

    • headers: Record<string, string>

      The headers to merge with existing ones.

    Returns void

Generated using TypeDoc