UNPKG

request-to-json

Version:

Returns a JSON representation of request (supports koa/express requests props)

80 lines (79 loc) 2.75 kB
/// <reference types="node" /> import { Context as KoaContext, Request as KoaRequest } from 'koa'; import { Request as ExpressRequest } from 'express'; import { IncomingMessage } from 'http'; export interface IncomingMessageJSON { aborted: boolean; httpVersion: string; complete: boolean; headers: IncomingMessage['headers']; trailers: IncomingMessage['trailers']; query?: ExpressRequest['query']; statusCode?: number; statusMessage?: string; method?: string; url?: string; originalUrl?: string; } export interface ExpressRequestJSON { protocol: ExpressRequest['protocol']; secure: ExpressRequest['secure']; ip: ExpressRequest['ip']; ips: ExpressRequest['ips']; subdomains: ExpressRequest['subdomains']; path: ExpressRequest['path']; hostname: ExpressRequest['hostname']; host: ExpressRequest['host']; fresh: ExpressRequest['fresh']; stale: ExpressRequest['stale']; xhr: ExpressRequest['xhr']; body: ExpressRequest['body']; cookies: ExpressRequest['cookies']; params: ExpressRequest['params']; query: ExpressRequest['query']; route: ExpressRequest['route']; signedCookies: ExpressRequest['signedCookies']; originalUrl: ExpressRequest['originalUrl']; baseUrl: ExpressRequest['baseUrl']; method: ExpressRequest['method']; url: ExpressRequest['url']; } export interface KoaRequestJSON { headers: KoaRequest['headers']; method: KoaRequest['method']; url: KoaRequest['url']; originalUrl: KoaRequest['originalUrl']; origin: KoaRequest['origin']; href: KoaRequest['href']; path: KoaRequest['path']; query: KoaRequest['query']; host: KoaRequest['host']; hostname: KoaRequest['hostname']; fresh: KoaRequest['fresh']; stale: KoaRequest['stale']; protocol: KoaRequest['protocol']; secure: KoaRequest['secure']; ip: KoaRequest['ip']; ips: KoaRequest['ips']; subdomains: KoaRequest['subdomains']; } export interface KoaContextJSON { headers: KoaContext['headers']; method: KoaContext['method']; url: KoaContext['url']; originalUrl: KoaContext['originalUrl']; origin: KoaContext['origin']; href: KoaContext['href']; path: KoaContext['path']; query: KoaContext['query']; host: KoaContext['host']; hostname: KoaContext['hostname']; fresh: KoaContext['fresh']; stale: KoaContext['stale']; protocol: KoaContext['protocol']; secure: KoaContext['secure']; ip: KoaContext['ip']; ips: KoaContext['ips']; subdomains: KoaContext['subdomains']; } export default function requestToJSON(req: IncomingMessage | ExpressRequest | KoaRequest | KoaContext): IncomingMessageJSON | ExpressRequestJSON | KoaRequestJSON;