Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface OpineRequest<P, ResBody, ReqQuery>

see

https://expressjs.com/en/api.html#req.params

example
app.get('/user/:id', (req, res) => res.send(req.params.id)); // implicitly `ParamsDictionary`
app.get<ParamsArray>(/user\/(.*)/, (req, res) => res.send(req.params[0]));
app.get<ParamsArray>('/user/*', (req, res) => res.send(req.params[0]));

Type parameters

  • P: Params = ParamsDictionary

    For most requests, this should be ParamsDictionary, but if you're using this in a route handler for a route that uses a RegExp or a wildcard string path (e.g. '/user/*'), then req.params will be an array, in which case you should use ParamsArray instead.

  • ResBody = any

  • ReqQuery = any

Hierarchy

Implemented by

Index

Properties

Optional _parsedBody

_parsedBody: boolean

After body parsers, OpineRequest will contain _parsedBody boolean property dictating that the body has been parsed. See: opine/src/middleware/bodyParser/

Optional _parsedOriginalUrl

_parsedOriginalUrl: ParsedURL

After calling originalUrl on the request object, the original url is memoization by storing onto the _parsedOriginalUrl property.

Optional _parsedUrl

_parsedUrl: ParsedURL

After calling parseUrl on the request object, the parsed url is memoization by storing onto the _parsedUrl property.

app

baseUrl

baseUrl: string

body

body: any

Body of request.

If the body has been passed such that a parsedBody property is defined, this returns the parsedBody value.

To always get the raw body value, use the raw property.

conn

conn: ConnInfo

finalResponse

finalResponse: Promise<Response>

Returns a promise that resolves to the response to the request.

fresh

fresh: boolean

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

get

get: (name: string) => string | undefined

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

Type declaration

    • (name: string): string | undefined
    • Parameters

      • name: string

      Returns string | undefined

headers

headers: Headers

Optional hostname

hostname: string

Parse the "Host" header field hostname.

ip

ip: string

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

ips

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

method: string

Optional next

originalUrl

originalUrl: string

param

param: (name: string, defaultValue?: string) => string | undefined

Type declaration

    • (name: string, defaultValue?: string): string | undefined
    • Parameters

      • name: string
      • Optional defaultValue: string

      Returns string | undefined

params

params: P

Optional parsedBody

parsedBody: any

After body parsers, OpineRequest will contain parsedBody property containing the parsed body. See: opine/src/middleware/bodyParser/

path

path: string

Returns the pathname of the URL.

proto

proto: string

protocol

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

query: ReqQuery

raw

raw: Deno.Reader

Raw body of request.

Optional res

res: OpineResponse<ResBody>

After middleware.init executed, OpineRequest will contain res and next properties. See: opine/src/middleware/init.ts

route

route: any

secure

secure: boolean

Short-hand for:

req.protocol == 'https'

stale

stale: boolean

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

subdomains

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 "deno.dinosaurs.example.com": If "subdomain offset" is not set, req.subdomains is ["dinosaurs", "deno"]. If "subdomain offset" is 3, req.subdomains is ["deno"].

url

url: string

xhr

xhr: boolean

Check if the request was an XMLHttpRequest.

Methods

accepts

  • accepts(): string | string[] | false
  • accepts(type: string): string | string[] | false
  • accepts(type: string[]): string | string[] | false
  • accepts(...type: string[]): string | string[] | false
  • 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-delimited 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 | string[] | false

  • Parameters

    • type: string

    Returns string | string[] | false

  • Parameters

    • type: string[]

    Returns string | string[] | false

  • Parameters

    • Rest ...type: string[]

    Returns string | string[] | false

acceptsCharsets

  • acceptsCharsets(): string | string[] | false
  • acceptsCharsets(charset: string): string | string[] | false
  • acceptsCharsets(charset: string[]): string | string[] | false
  • acceptsCharsets(...charset: string[]): string | string[] | false

acceptsEncodings

  • acceptsEncodings(): string | string[] | false
  • acceptsEncodings(encoding: string): string | string[] | false
  • acceptsEncodings(encoding: string[]): string | string[] | false
  • acceptsEncodings(...encoding: string[]): string | string[] | false

acceptsLanguages

  • acceptsLanguages(): string | string[] | false
  • acceptsLanguages(lang: string): string | string[] | false
  • acceptsLanguages(lang: string[]): string | string[] | false
  • acceptsLanguages(...lang: string[]): string | string[] | false

is

  • is(type: string | string[]): string | boolean | null
  • 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 | boolean | null

range

  • 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

    Returns RangeParserRanges | RangeParserResult | undefined

respond

  • respond(response: { body?: Uint8Array | Deno.Reader | string | ReadableStream; headers?: Headers; status?: number; statusText?: string; trailers?: () => Promise<Headers> | Headers }): void
  • Parameters

    • response: { body?: Uint8Array | Deno.Reader | string | ReadableStream; headers?: Headers; status?: number; statusText?: string; trailers?: () => Promise<Headers> | Headers }
      • Optional body?: Uint8Array | Deno.Reader | string | ReadableStream
      • Optional headers?: Headers
      • Optional status?: number
      • Optional statusText?: string
      • Optional trailers?: () => Promise<Headers> | Headers
          • (): Promise<Headers> | Headers
          • Returns Promise<Headers> | Headers

    Returns void

upgrade

  • upgrade(): WebSocket
  • Upgrade an HTTP connection to a WebSocket connection by calling Deno.upgradeWebSocket.

    Example:

    app.get("/ws", async (req, _res, next) => {
      if (req.headers.get("upgrade") === "websocket") {
        const socket = req.upgrade();
        handleSocket(socket);
      } else {
        next();
      }
    });
    

    Returns WebSocket

    A socket object.

Generated using TypeDoc