Interface HttpRequest

Represents an HTTP request.

Hierarchy

  • Request
    • HttpRequest

Properties

aborted: boolean
accepted: MediaType[]

Return an array of Accepted media types ordered from highest quality to lowest.

app: Application<Record<string, any>>
baseUrl: string
body: any
complete: boolean
connection: Socket

Deprecated

since v13.0.0 - Use socket instead.

cookies: any
destroyed: boolean
fresh: boolean

Check if the request is fresh, aka Last-Modified and/or the ETag still match.

headers: IncomingHttpHeaders
host: string

Deprecated

Use hostname instead.

hostname: string

Parse the "Host" header field hostname.

httpVersion: string
httpVersionMajor: number
httpVersionMinor: number
ip: string

Return the remote address, or when "trust proxy" is true return the upstream addr.

ips: string[]

When "trust proxy" is true, parse the "X-Forwarded-For" ip address list.

For example if the value were "client, proxy1, proxy2" you would receive the array ["client", "proxy1", "proxy2"] where "proxy2" is the furthest down-stream.

method: string
next?: NextFunction
originalUrl: string
params: ParamsDictionary
path: string

Short-hand for url.parse(req.url).pathname.

protocol: string

Return the protocol string "http" or "https" when requested with TLS. When the "trust proxy" setting is enabled the "X-Forwarded-Proto" header field will be trusted. If you're running behind a reverse proxy that supplies https for you this may be enabled.

query: ParsedQs
rawHeaders: string[]
rawTrailers: string[]
readable: boolean
readableEncoding: BufferEncoding
readableEnded: boolean
readableFlowing: boolean
readableHighWaterMark: number
readableLength: number
readableObjectMode: boolean
res?: Response<any, Record<string, any>, number>

After middleware.init executed, Request will contain res and next properties See: express/lib/middleware/init.js

route: any
secure: boolean

Short-hand for:

req.protocol == 'https'

signedCookies: any
socket: Socket
stale: boolean

Check if the request is stale, aka "Last-Modified" and / or the "ETag" for the resource has changed.

statusCode?: number

Only valid for response obtained from http.ClientRequest.

statusMessage?: string

Only valid for response obtained from http.ClientRequest.

subdomains: string[]

Return subdomains as an array.

Subdomains are the dot-separated parts of the host before the main domain of the app. By default, the domain of the app is assumed to be the last two parts of the host. This can be changed by setting "subdomain offset".

For example, if the domain is "tobi.ferrets.example.com": If "subdomain offset" is not set, req.subdomains is ["ferrets", "tobi"]. If "subdomain offset" is 3, req.subdomains is ["tobi"].

trailers: Dict<string>
url: string
xhr: boolean

Check if the request was an XMLHttpRequest.

Methods

  • Returns AsyncIterableIterator<any>

  • Parameters

    • error: Error
    • callback: ((error?) => void)
        • (error?): void
        • Parameters

          • Optional error: Error

          Returns void

    Returns void

  • Parameters

    • size: number

    Returns void

  • Check if the given type(s) is acceptable, returning the best match when true, otherwise undefined, in which case you should respond with 406 "Not Acceptable".

    The type value may be a single mime type string such as "application/json", the extension name such as "json", a comma-delimted list such as "json, html, text/plain", or an array ["json", "html", "text/plain"]. When a list or array is given the best match, if any is returned.

    Examples:

    // Accept: text/html
    req.accepts('html');
    // => "html"

    // Accept: text/*, application/json
    req.accepts('html');
    // => "html"
    req.accepts('text/html');
    // => "text/html"
    req.accepts('json, text');
    // => "json"
    req.accepts('application/json');
    // => "application/json"

    // Accept: text/*, application/json
    req.accepts('image/png');
    req.accepts('png');
    // => undefined

    // Accept: text/*;q=.5, application/json
    req.accepts(['html', 'json']);
    req.accepts('html, json');
    // => "json"

    Returns string[]

  • Parameters

    • type: string

    Returns string | false

  • Parameters

    • type: string[]

    Returns string | false

  • Parameters

    • Rest ...type: string[]

    Returns string | false

  • Returns the first accepted charset of the specified character sets, based on the request's Accept-Charset HTTP header field. If none of the specified charsets is accepted, returns false.

    For more information, or if you have issues or concerns, see accepts.

    Returns string[]

  • Parameters

    • charset: string

    Returns string | false

  • Parameters

    • charset: string[]

    Returns string | false

  • Parameters

    • Rest ...charset: string[]

    Returns string | false

  • Returns the first accepted encoding of the specified encodings, based on the request's Accept-Encoding HTTP header field. If none of the specified encodings is accepted, returns false.

    For more information, or if you have issues or concerns, see accepts.

    Returns string[]

  • Parameters

    • encoding: string

    Returns string | false

  • Parameters

    • encoding: string[]

    Returns string | false

  • Parameters

    • Rest ...encoding: string[]

    Returns string | false

  • Returns the first accepted language of the specified languages, based on the request's Accept-Language HTTP header field. If none of the specified languages is accepted, returns false.

    For more information, or if you have issues or concerns, see accepts.

    Returns string[]

  • Parameters

    • lang: string

    Returns string | false

  • Parameters

    • lang: string[]

    Returns string | false

  • Parameters

    • Rest ...lang: string[]

    Returns string | false

  • Event emitter The defined events on documents including:

    1. close
    2. data
    3. end
    4. error
    5. pause
    6. readable
    7. resume

    Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Parameters

    • Optional error: Error

    Returns void

  • Parameters

    • event: "close"

    Returns boolean

  • Parameters

    • event: "data"
    • chunk: any

    Returns boolean

  • Parameters

    • event: "end"

    Returns boolean

  • Parameters

    • event: "error"
    • err: Error

    Returns boolean

  • Parameters

    • event: "pause"

    Returns boolean

  • Parameters

    • event: "readable"

    Returns boolean

  • Parameters

    • event: "resume"

    Returns boolean

  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

  • Returns (string | symbol)[]

  • Return request header.

    The Referrer header field is special-cased, both Referrer and Referer are interchangeable.

    Examples:

    req.get('Content-Type');
    // => "text/plain"

    req.get('content-type');
    // => "text/plain"

    req.get('Something');
    // => undefined

    Aliased as req.header().

    Parameters

    • name: "set-cookie"

    Returns string[]

  • Parameters

    • name: string

    Returns string

  • Returns number

  • Parameters

    • name: "set-cookie"

    Returns string[]

  • Parameters

    • name: string

    Returns string

  • Check if the incoming request contains the "Content-Type" header field, and it contains the give mime type.

    Examples:

     // With Content-Type: text/html; charset=utf-8
    req.is('html');
    req.is('text/html');
    req.is('text/*');
    // => true

    // When Content-Type is application/json
    req.is('json');
    req.is('application/json');
    req.is('application/*');
    // => true

    req.is('html');
    // => false

    Parameters

    • type: string | string[]

    Returns string | false

  • Returns boolean

  • Parameters

    • event: string | symbol

    Returns number

  • Parameters

    • event: string | symbol

    Returns Function[]

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Parameters

    • name: string
    • Optional defaultValue: any

    Returns string

    Deprecated

    since 4.11 Use either req.params, req.body or req.query, as applicable.

    Return the value of param name when present or defaultValue.

    • Checks route placeholders, ex: /user/:id
    • Checks body params, ex: id=12, {"id":12}
    • Checks query string params, ex: ?id=12

    To utilize request bodies, req.body should be an object. This can be done by using the connect.bodyParser() middleware.

  • Returns HttpRequest

  • Type Parameters

    • T extends WritableStream<T>

    Parameters

    • destination: T
    • Optional options: {
          end?: boolean;
      }
      • Optional end?: boolean

    Returns T

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding

    Returns boolean

  • Parse Range header field, capping to the given size.

    Unspecified ranges such as "0-" require knowledge of your resource length. In the case of a byte range this is of course the total number of bytes. If the Range header field is not given undefined is returned. If the Range header field is given, return value is a result of range-parser. See more ./types/range-parser/index.d.ts

    NOTE: remember that ranges are inclusive, so for example "Range: users=0-3" should respond with 4 users when available, not 3.

    Parameters

    • size: number
    • Optional options: Options

    Returns Ranges | Result

  • Parameters

    • event: string | symbol

    Returns Function[]

  • Parameters

    • Optional size: number

    Returns any

  • Parameters

    • Optional event: string | symbol

    Returns HttpRequest

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "data"
    • listener: ((chunk) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "error"
    • listener: ((err) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns HttpRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns HttpRequest

  • Returns HttpRequest

  • Parameters

    • encoding: BufferEncoding

    Returns HttpRequest

  • Parameters

    • n: number

    Returns HttpRequest

  • Parameters

    • msecs: number
    • Optional callback: (() => void)
        • (): void
        • Returns void

    Returns HttpRequest

  • Parameters

    • Optional destination: WritableStream

    Returns HttpRequest

  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding

    Returns void

  • Parameters

    • oldStream: ReadableStream

    Returns HttpRequest

Generated using TypeDoc