@riddance/service
Version:
Too much code slows you down, creates risks, increases maintainability burdens, confuses AI. So let's commit less of it.
35 lines (34 loc) • 1.12 kB
TypeScript
import { type Method } from '@riddance/host/http-registry';
import { type JsonSafe } from '../context.js';
import { Environment } from '../http.js';
export * from './context.js';
export type Response = {
headers: {
[key: string]: string;
};
status: number;
body?: any;
};
type RequestOptions = BodylessRequestOptions | StringRequestOptions | JsonRequestOptions;
type BodylessRequestOptions = {
method?: Method;
uri: string;
headers?: {
readonly [key: string]: string;
};
};
type StringRequestOptions = BodylessRequestOptions & {
body: string;
};
type JsonRequestOptions = BodylessRequestOptions & {
json: JsonSafe;
};
export declare function request(options: RequestOptions): Promise<Response>;
export declare function withBearer(payload: object, requestOptions: RequestOptions): Promise<RequestOptions>;
export type BearerTokenOptions = {
issuer?: string;
audience?: string | string[];
subject?: string;
expiresIn: number;
};
export declare function createBearerToken(env: Environment, payload: object, options: BearerTokenOptions): Promise<string>;