UNPKG

ketting

Version:

Opinionated HATEOAS / Rest client.

25 lines (19 loc) 612 B
import { FetchMiddleware } from '../http/fetcher.js'; import Client from '../client.js'; /** * This middleware injects a default Accept header. * * The list of content-types is generated from the Client's * 'contentTypeMap'. */ export default function(client: Client): FetchMiddleware { return async(request, next) => { if (!request.headers.has('Accept')) { const acceptHeader = Object.entries(client.contentTypeMap).map( ([contentType, [, q]]) => contentType + ';q=' + q ).join(', '); request.headers.set('Accept', acceptHeader); } return next(request); }; }