@kronos-integration/service-http

http server

Usage no npm install needed!

<script type="module">
  import kronosIntegrationServiceHttp from 'https://cdn.skypack.dev/@kronos-integration/service-http';
</script>

README

npm License minified size downloads GitHub Issues Build Status Styled with prettier Commitizen friendly Known Vulnerabilities Coverage Status

@kronos-integration/service-http

koa backed http server

API

Table of Contents

CTXBodyParamInterceptor

Extends CTXInterceptor

Extracts params from request body. Supported content types are:

  • application/json
  • application/x-www-form-urlencoded

name

Returns string 'ctx-body-param'

CTXInterceptor

Extends Interceptor

Basic interceptor providing/consuming http request/response.

name

Returns string 'ctx-body-param'

CTXJWTVerifyInterceptor

Extends Interceptor

Only forward requests if a valid JWT token is present.

name

Returns string 'ctx-jwt-verify'

reportError

Write WWW-Authenticate header.

Parameters

  • ctx any
  • code
  • error any
  • description string

CTX

Type: Object

Properties

HTTPEndpoint

Extends SendEndpoint

Endpoint to link against a http route.

The endpoint name may be in the form of ':'. Then will be used as http method and as the url path component.

Parameters

  • name string endpoint name

  • owner Object owner of the endpoint

  • options Object (optional, default {})

    • options.path string url path component defaults to endpoint name
    • options.method string http method defaults to GET

endpointRouter

Parameters

  • httpService HTTPServer

Returns RequestListener

ServiceHTTP

Extends Service

HTTP server.

Properties

  • server http.Server only present if state is running

extendetName

Returns string name with url

endpointFactoryFromConfig

On demand create RouteSendEndpoint´s.

Parameters

Returns Class RouteSendEndpoint if path is present of name starts with '/'

isSecure

Should we make a secure connection.

Returns boolean true if key is present

serverOptions

Options passed to @see {http.createServer} or @see {https.createServer}.

Returns Object

name

Returns string 'http'

WSEndpoint

Extends SendReceiveEndpoint

Endpoint to link against a websocket route.

Parameters

  • name string endpoint name

  • owner Object owner of the endpoint

  • options Object (optional, default {})

    • options.path string url path defaults to endpoint name

Properties

authenticate

Check sec-websocket-protocol header for presence of 'access_token' and the token. Throws if no valid token is present.

Parameters

  • service Service
  • request any

install

With npm do:

npm install @kronos-integration/service-http

license

BSD-2-Clause