diff --git a/docs/generated/assets/navigation.js b/docs/generated/assets/navigation.js index e0825e83..8beb9119 100644 --- a/docs/generated/assets/navigation.js +++ b/docs/generated/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJydllFvmzAQx7+Ln6PR0IR1eSOBqVVTpYJKfZgmRMk1sUpsD5uqXdXvPiXtCgZj5/LK/e73t+BO+NcbUfCiyIwsqVTAVkJRziQZEZGrLZkRYPVOelrx21btSjIiT5StyeziffTlCIWIQBYVFYpXjYMyBdVjXoD0NEIX+dNAV/XOonuMp9Ell0qJBP7UIJXR0qq7NVJwJsHi+QBsopu6VFTklfpJoVwbVTpik93BTpS5gnUohFHVBmyiWmbl4ftmkhdPYH5VXcghtJsQiqzgbP8sc8gazqa9h4d0+GRf1aMUc9jmz3RgznuUTbngO1GBlL2BV68CpNcpd0xnP76Pp37LlkDBN4z+hXWqKso2XV237vJFcXS1CO/iKFusbm6TOE1XSTb2L67njfk5r2j+UIL0hmk959wdEWASAnyAP8UkHGhsxLmPSNjD6ACMH6+fIPQTvD7A+IMTAjBDeuyIRnHTZJe3SbT6iPnv4SeE4DJOiXCuQJfGR7jXrIfjQ5yz2qXxEdOxj8nY4/gQ5050aVvEVRrOl3FkFH7WLO3pZZhoS2jy9CC30LWiBswi1e5XjzUrDr9hr3erCiatpg2o27xS0tT5v2ZpT9PlQOxHxdLavallRcnb99ZGZSbt6k+y5EVeZoJXakDc43ra3/8A6IQD/w==" \ No newline at end of file +window.navigationData = "eJyllmtv2jAUhv+LP6MxUsg6vgWSCTQYKKHrtKqy0uQUrCa2ZztoF+2/T9ALuTgOZl9znvO8VnLs+O4PUvBToTEK6J4IRnOg6mssSPyQgUQ9xGO1Q2OUs7TIQPZ11LudyjPUQ0+Epmg87KFkR7JUAEXjuzf9zW2EZ5vNGi+9b3gWeH4QRni6uvmyOYXsX436mHZFdQVXzt+eOTeafw/+L/ZgaKTel3IXRCqgK64Io6X3CLTIZb9SrGquSw6Pcx9kIghXTJwchCoQj3ECsl8hqiJn5FZVjbVUPdrVVCUzpXgIPwqQSmsp1bs1kjMqweB5BkyiZZEpwmOhPhHIUq2qiphkG8h5FitIPc61qjJgEhUSZ8fviyVLnkD/qupQh9BsslDghNHDM9whO3Em7S08RO0re6uepZjALt6TljlvUCbllOVcgJSNgVe/OMh+rVwzvf/4YTAqHyAhJGxLyW9IIyUI3dZ19XqXzw/8+dTbBD6erpbrMIiiVYgHzvXnie5EaqcNZ56+ybVJcO0DnJFNwpG2jbhyLBIOsHWAjd9eP7TQD+31ro3fvSDAZkjPHVE/ODWZ5WXSWn3G/DfwC0LsMi6J6NwCddo+onubNXD7kM5ZrdP2EaOBY5NxwO1DOvdEnTZFzCNvsgh8rfClZmiPZl5Y2YQ6TwPqFnZtUQ1mkFbuV48FTY6/4X7jVuUOS01bUOtYKKnrfK0Z2qNo0RL7XDG01m9qOMlY+d56UulJs/qFzFgSZ5gzoVrEDa6hvf8HqRd07w==" \ No newline at end of file diff --git a/docs/generated/assets/search.js b/docs/generated/assets/search.js index b0854edb..072ad5dc 100644 --- a/docs/generated/assets/search.js +++ b/docs/generated/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/generated/enums/ListenOptions.html b/docs/generated/enums/ListenOptions.html index 4a55bd1e..55933da6 100644 --- a/docs/generated/enums/ListenOptions.html +++ b/docs/generated/enums/ListenOptions.html @@ -1,3 +1,3 @@ -ListenOptions | uWebSockets.js v20.61.0 documentation
uWebSockets.js v20.61.0 documentation
    Preparing search index...

    Enumeration ListenOptions

    Index

    Enumeration Members

    LIBUS_LISTEN_DEFAULT +ListenOptions | uWebSockets.js v20.61.0 documentation
    uWebSockets.js v20.61.0 documentation
      Preparing search index...

      Enumeration ListenOptions

      Index

      Enumeration Members

      LIBUS_LISTEN_DEFAULT: 0
      LIBUS_LISTEN_EXCLUSIVE_PORT: 1
      +

      Enumeration Members

      LIBUS_LISTEN_DEFAULT: 0
      LIBUS_LISTEN_EXCLUSIVE_PORT: 1
      diff --git a/docs/generated/functions/App.html b/docs/generated/functions/App.html index 78e6ede0..5f3b253d 100644 --- a/docs/generated/functions/App.html +++ b/docs/generated/functions/App.html @@ -1,3 +1,3 @@ App | uWebSockets.js v20.61.0 documentation
      uWebSockets.js v20.61.0 documentation
        Preparing search index...

        Function App

        • Constructs a non-SSL app. An app is your starting point where you attach behavior to URL routes. This is also where you listen and run your app, set any SSL options (in case of SSLApp) and the like.

          -

          Parameters

          Returns TemplatedApp

        +

        Parameters

        Returns TemplatedApp

        diff --git a/docs/generated/functions/SSLApp.html b/docs/generated/functions/SSLApp.html index b0c47c60..95704479 100644 --- a/docs/generated/functions/SSLApp.html +++ b/docs/generated/functions/SSLApp.html @@ -1,2 +1,2 @@ SSLApp | uWebSockets.js v20.61.0 documentation
        uWebSockets.js v20.61.0 documentation
          Preparing search index...

          Function SSLApp

          +

          Parameters

          Returns TemplatedApp

          diff --git a/docs/generated/functions/getParts.html b/docs/generated/functions/getParts.html index 96415b2b..3c1ee16f 100644 --- a/docs/generated/functions/getParts.html +++ b/docs/generated/functions/getParts.html @@ -1,2 +1,2 @@ getParts | uWebSockets.js v20.61.0 documentation
          uWebSockets.js v20.61.0 documentation
            Preparing search index...

            Function getParts

            +

            Parameters

            Returns MultipartField[]

            diff --git a/docs/generated/functions/us_listen_socket_close.html b/docs/generated/functions/us_listen_socket_close.html index e19ff646..36439efc 100644 --- a/docs/generated/functions/us_listen_socket_close.html +++ b/docs/generated/functions/us_listen_socket_close.html @@ -1,2 +1,2 @@ us_listen_socket_close | uWebSockets.js v20.61.0 documentation
            uWebSockets.js v20.61.0 documentation
              Preparing search index...

              Function us_listen_socket_close

              +

              Parameters

              Returns void

              diff --git a/docs/generated/functions/us_socket_local_port.html b/docs/generated/functions/us_socket_local_port.html index 97c727d4..199e0748 100644 --- a/docs/generated/functions/us_socket_local_port.html +++ b/docs/generated/functions/us_socket_local_port.html @@ -1,2 +1,2 @@ us_socket_local_port | uWebSockets.js v20.61.0 documentation
              uWebSockets.js v20.61.0 documentation
                Preparing search index...

                Function us_socket_local_port

                +

                Parameters

                Returns number

                diff --git a/docs/generated/index.html b/docs/generated/index.html index e166c6cf..dcb7fa63 100644 --- a/docs/generated/index.html +++ b/docs/generated/index.html @@ -1 +1 @@ -uWebSockets.js v20.61.0 documentation
                uWebSockets.js v20.61.0 documentation
                  Preparing search index...

                  uWebSockets.js v20.61.0 documentation

                  Enumerations

                  ListenOptions

                  Interfaces

                  AppDescriptor
                  AppOptions
                  HttpRequest
                  HttpResponse
                  MultipartField
                  TemplatedApp
                  us_listen_socket
                  us_socket
                  us_socket_context_t
                  WebSocket
                  WebSocketBehavior

                  Type Aliases

                  CompressOptions
                  RecognizedString

                  Variables

                  DEDICATED_COMPRESSOR_128KB
                  DEDICATED_COMPRESSOR_16KB
                  DEDICATED_COMPRESSOR_256KB
                  DEDICATED_COMPRESSOR_32KB
                  DEDICATED_COMPRESSOR_3KB
                  DEDICATED_COMPRESSOR_4KB
                  DEDICATED_COMPRESSOR_64KB
                  DEDICATED_COMPRESSOR_8KB
                  DEDICATED_DECOMPRESSOR
                  DEDICATED_DECOMPRESSOR_16KB
                  DEDICATED_DECOMPRESSOR_1KB
                  DEDICATED_DECOMPRESSOR_2KB
                  DEDICATED_DECOMPRESSOR_32KB
                  DEDICATED_DECOMPRESSOR_4KB
                  DEDICATED_DECOMPRESSOR_512B
                  DEDICATED_DECOMPRESSOR_8KB
                  DISABLED
                  SHARED_COMPRESSOR
                  SHARED_DECOMPRESSOR

                  Functions

                  App
                  getParts
                  SSLApp
                  us_listen_socket_close
                  us_socket_local_port
                  +uWebSockets.js v20.61.0 documentation
                  uWebSockets.js v20.61.0 documentation
                    Preparing search index...

                    uWebSockets.js v20.61.0 documentation

                    Namespaces

                    EnvironmentVariables

                    Enumerations

                    ListenOptions

                    Interfaces

                    AppDescriptor
                    AppOptions
                    HttpRequest
                    HttpResponse
                    MultipartField
                    TemplatedApp
                    us_listen_socket
                    us_socket
                    us_socket_context_t
                    WebSocket
                    WebSocketBehavior

                    Type Aliases

                    CompressOptions
                    RecognizedString

                    Variables

                    DEDICATED_COMPRESSOR_128KB
                    DEDICATED_COMPRESSOR_16KB
                    DEDICATED_COMPRESSOR_256KB
                    DEDICATED_COMPRESSOR_32KB
                    DEDICATED_COMPRESSOR_3KB
                    DEDICATED_COMPRESSOR_4KB
                    DEDICATED_COMPRESSOR_64KB
                    DEDICATED_COMPRESSOR_8KB
                    DEDICATED_DECOMPRESSOR
                    DEDICATED_DECOMPRESSOR_16KB
                    DEDICATED_DECOMPRESSOR_1KB
                    DEDICATED_DECOMPRESSOR_2KB
                    DEDICATED_DECOMPRESSOR_32KB
                    DEDICATED_DECOMPRESSOR_4KB
                    DEDICATED_DECOMPRESSOR_512B
                    DEDICATED_DECOMPRESSOR_8KB
                    DISABLED
                    SHARED_COMPRESSOR
                    SHARED_DECOMPRESSOR

                    Functions

                    App
                    getParts
                    SSLApp
                    us_listen_socket_close
                    us_socket_local_port
                    diff --git a/docs/generated/interfaces/AppOptions.html b/docs/generated/interfaces/AppOptions.html index a8f6d112..fc29b4c5 100644 --- a/docs/generated/interfaces/AppOptions.html +++ b/docs/generated/interfaces/AppOptions.html @@ -1,11 +1,11 @@ AppOptions | uWebSockets.js v20.61.0 documentation
                    uWebSockets.js v20.61.0 documentation
                      Preparing search index...

                      Interface AppOptions

                      Options used when constructing an app. Especially for SSLApp. These are options passed directly to uSockets, C layer.

                      -
                      Index

                      Properties

                      Index

                      Properties

                      ca_file_name?: RecognizedString
                      cert_file_name?: RecognizedString
                      dh_params_file_name?: RecognizedString
                      key_file_name?: RecognizedString
                      passphrase?: RecognizedString
                      ssl_ciphers?: RecognizedString
                      ssl_prefer_low_memory_usage?: boolean

                      This translates to SSL_MODE_RELEASE_BUFFERS

                      -
                      +

                      Properties

                      ca_file_name?: RecognizedString
                      cert_file_name?: RecognizedString
                      dh_params_file_name?: RecognizedString
                      key_file_name?: RecognizedString
                      passphrase?: RecognizedString
                      ssl_ciphers?: RecognizedString
                      ssl_prefer_low_memory_usage?: boolean

                      This translates to SSL_MODE_RELEASE_BUFFERS

                      +
                      diff --git a/docs/generated/interfaces/HttpRequest.html b/docs/generated/interfaces/HttpRequest.html index 61007fa6..c54d18b1 100644 --- a/docs/generated/interfaces/HttpRequest.html +++ b/docs/generated/interfaces/HttpRequest.html @@ -1,5 +1,5 @@ HttpRequest | uWebSockets.js v20.61.0 documentation
                      uWebSockets.js v20.61.0 documentation
                        Preparing search index...

                        Interface HttpRequest

                        An HttpRequest is stack allocated and only accessible during the callback invocation.

                        -
                        interface HttpRequest {
                            forEach(cb: (key: string, value: string) => void): void;
                            getCaseSensitiveMethod(): string;
                            getHeader(lowerCaseKey: RecognizedString): string;
                            getMethod(): string;
                            getParameter(index: number | RecognizedString): string;
                            getQuery(): string;
                            getQuery(key: string): string;
                            getUrl(): string;
                            setYield(_yield: boolean): HttpRequest;
                        }
                        Index

                        Methods

                        interface HttpRequest {
                            forEach(cb: (key: string, value: string) => void): void;
                            getCaseSensitiveMethod(): string;
                            getHeader(lowerCaseKey: RecognizedString): string;
                            getMethod(): string;
                            getParameter(index: number | RecognizedString): string;
                            getQuery(): string;
                            getQuery(key: string): string;
                            getUrl(): string;
                            setYield(_yield: boolean): HttpRequest;
                        }
                        Index

                        Methods

                        • Loops over all headers.

                          -

                          Parameters

                          • cb: (key: string, value: string) => void

                          Returns void

                        • Returns the HTTP method as-is.

                          -

                          Returns string

                        • Returns the lowercased HTTP method, useful for "any" routes.

                          -

                          Returns string

                        • Returns the parsed parameter at index. Corresponds to route. Can also take the name of the parameter.

                          -

                          Parameters

                          Returns string

                        • Returns the raw querystring (the part of URL after ? sign) or empty string.

                          -

                          Returns string

                        • Returns a decoded query parameter value or undefined.

                          -

                          Parameters

                          • key: string

                          Returns string

                        • Returns the URL including initial /slash

                          -

                          Returns string

                        • Setting yield to true is to say that this route handler did not handle the route, causing the router to continue looking for a matching route handler, or fail.

                          -

                          Parameters

                          • _yield: boolean

                          Returns HttpRequest

                        +

                        Parameters

                        Returns void

                        diff --git a/docs/generated/interfaces/HttpResponse.html b/docs/generated/interfaces/HttpResponse.html index d6d51042..1ce2b56f 100644 --- a/docs/generated/interfaces/HttpResponse.html +++ b/docs/generated/interfaces/HttpResponse.html @@ -1,6 +1,7 @@ HttpResponse | uWebSockets.js v20.61.0 documentation
                        uWebSockets.js v20.61.0 documentation
                          Preparing search index...

                          Interface HttpResponse

                          An HttpResponse is valid until either onAborted callback or any of the .end/.tryEnd calls succeed. You may attach user data to this object.

                          -
                          interface HttpResponse {
                              close(): HttpResponse;
                              cork(cb: () => void): HttpResponse;
                              end(body?: RecognizedString, closeConnection?: boolean): HttpResponse;
                              endWithoutBody(
                                  reportedContentLength?: number,
                                  closeConnection?: boolean,
                              ): HttpResponse;
                              getProxiedRemoteAddress(): ArrayBuffer;
                              getProxiedRemoteAddressAsText(): ArrayBuffer;
                              getProxiedRemotePort(): number;
                              getRemoteAddress(): ArrayBuffer;
                              getRemoteAddressAsText(): ArrayBuffer;
                              getRemotePort(): number;
                              getWriteOffset(): number;
                              onAborted(handler: () => void): HttpResponse;
                              onData(
                                  handler: (chunk: ArrayBuffer, isLast: boolean) => void,
                              ): HttpResponse;
                              onFullData(
                                  maxSize: number,
                                  handler: (fullBody: ArrayBuffer) => void,
                              ): HttpResponse;
                              onWritable(handler: (offset: number) => boolean): HttpResponse;
                              pause(): void;
                              resume(): void;
                              tryEnd(
                                  fullBodyOrChunk: RecognizedString,
                                  totalSize: number,
                              ): [boolean, boolean];
                              upgrade<UserData>(
                                  userData: UserData,
                                  secWebSocketKey: RecognizedString,
                                  secWebSocketProtocol: RecognizedString,
                                  secWebSocketExtensions: RecognizedString,
                                  context: us_socket_context_t,
                              ): void;
                              write(chunk: RecognizedString): boolean;
                              writeHeader(key: RecognizedString, value: RecognizedString): HttpResponse;
                              writeHeaders(headers: Record<string, RecognizedString>): HttpResponse;
                              writeStatus(status: RecognizedString): HttpResponse;
                              [key: string]: any;
                          }

                          Indexable

                          • [key: string]: any

                            Arbitrary user data may be attached to this object

                            +
                          interface HttpResponse {
                              close(): HttpResponse;
                              collectBody(
                                  maxSize: number,
                                  handler: (fullBody: ArrayBuffer) => void,
                              ): HttpResponse;
                              cork(cb: () => void): HttpResponse;
                              end(body?: RecognizedString, closeConnection?: boolean): HttpResponse;
                              endWithoutBody(
                                  reportedContentLength?: number,
                                  closeConnection?: boolean,
                              ): HttpResponse;
                              getProxiedRemoteAddress(): ArrayBuffer;
                              getProxiedRemoteAddressAsText(): ArrayBuffer;
                              getProxiedRemotePort(): number;
                              getRemoteAddress(): ArrayBuffer;
                              getRemoteAddressAsText(): ArrayBuffer;
                              getRemotePort(): number;
                              getWriteOffset(): number;
                              onAborted(handler: () => void): HttpResponse;
                              onData(
                                  handler: (chunk: ArrayBuffer, isLast: boolean) => void,
                              ): HttpResponse;
                              onDataV2(
                                  handler: (chunk: ArrayBuffer, maxRemainingBodyLength: bigint) => void,
                              ): HttpResponse;
                              onWritable(handler: (offset: number) => boolean): HttpResponse;
                              pause(): void;
                              resume(): void;
                              tryEnd(
                                  fullBodyOrChunk: RecognizedString,
                                  totalSize: number,
                              ): [boolean, boolean];
                              upgrade<UserData>(
                                  userData: UserData,
                                  secWebSocketKey: RecognizedString,
                                  secWebSocketProtocol: RecognizedString,
                                  secWebSocketExtensions: RecognizedString,
                                  context: us_socket_context_t,
                              ): void;
                              write(chunk: RecognizedString): boolean;
                              writeHeader(key: RecognizedString, value: RecognizedString): HttpResponse;
                              writeStatus(status: RecognizedString): HttpResponse;
                              [key: string]: any;
                          }

                          Indexable

                          • [key: string]: any

                            Arbitrary user data may be attached to this object

                          Index

                          Methods

                          • Corking a response is a performance improvement in both CPU and network, as you ready the IO system for writing multiple chunks at once. +

                            Returns HttpResponse

                          • Accumulates all data chunks and calls handler with the complete body as an ArrayBuffer once all data has arrived. +If the total body size exceeds maxSize bytes, handler is called with null instead.

                            +

                            Parameters

                            • maxSize: number
                            • handler: (fullBody: ArrayBuffer) => void

                            Returns HttpResponse

                          • Corking a response is a performance improvement in both CPU and network, as you ready the IO system for writing multiple chunks at once. By default, you're corked in the immediately executing top portion of the route handler. In all other cases, such as when returning from await, or when being called back from an async database request or anything that isn't directly executing in the route handler, you'll want to cork before calling writeStatus, writeHeader or just write. Corking takes a callback in which you execute the writeHeader, writeStatus and @@ -34,38 +36,38 @@ in one TLS block being sent off, each with one send syscall.

                            res.cork(() => {
                            res.writeStatus("200 OK").writeHeader("Some", "Value").write("Hello world!");
                            });
                            -

                            Parameters

                            • cb: () => void

                            Returns HttpResponse

                          • Ends this response without a body.

                            -

                            Parameters

                            • OptionalreportedContentLength: number
                            • OptionalcloseConnection: boolean

                            Returns HttpResponse

                          • Returns the remote IP address in binary format (4 or 16 bytes), as reported by the PROXY Protocol v2 compatible proxy.

                            -

                            Returns ArrayBuffer

                          • Returns the remote IP address as text, as reported by the PROXY Protocol v2 compatible proxy.

                            -

                            Returns ArrayBuffer

                          • Returns the remote port number, as reported by the PROXY Protocol v2 compatible proxy.

                            -

                            Returns number

                          • Returns the remote IP address in binary format (4 or 16 bytes).

                            -

                            Returns ArrayBuffer

                          • Returns the remote IP address as text.

                            -

                            Returns ArrayBuffer

                          • Returns the remote port number.

                            -

                            Returns number

                          • Returns the global byte write offset for this response. Use with onWritable.

                            -

                            Returns number

                          • Every HttpResponse MUST have an attached abort handler IF you do not respond +

                            Parameters

                            • cb: () => void

                            Returns HttpResponse

                          • Ends this response without a body.

                            +

                            Parameters

                            • OptionalreportedContentLength: number
                            • OptionalcloseConnection: boolean

                            Returns HttpResponse

                          • Returns the remote IP address in binary format (4 or 16 bytes), as reported by the PROXY Protocol v2 compatible proxy.

                            +

                            Returns ArrayBuffer

                          • Returns the remote IP address as text, as reported by the PROXY Protocol v2 compatible proxy.

                            +

                            Returns ArrayBuffer

                          • Returns the remote port number, as reported by the PROXY Protocol v2 compatible proxy.

                            +

                            Returns number

                          • Returns the remote IP address in binary format (4 or 16 bytes).

                            +

                            Returns ArrayBuffer

                          • Returns the remote IP address as text.

                            +

                            Returns ArrayBuffer

                          • Returns the remote port number.

                            +

                            Returns number

                          • Returns the global byte write offset for this response. Use with onWritable.

                            +

                            Returns number

                          • Every HttpResponse MUST have an attached abort handler IF you do not respond to it immediately inside of the callback. Returning from an Http request handler without attaching (by calling onAborted) an abort handler is ill-use and will terminate. When this event emits, the response has been aborted and may not be used.

                            -

                            Parameters

                            • handler: () => void

                            Returns HttpResponse

                          • Handler for reading HTTP request body data. +

                            Parameters

                            • handler: () => void

                            Returns HttpResponse

                          • Handler for reading HTTP request body data. Must be attached before performing any asynchronous operation, otherwise data may be lost. You MUST copy the data of chunk if isLast is not true. We Neuter ArrayBuffers on return, making them zero length.

                            -

                            Parameters

                            • handler: (chunk: ArrayBuffer, isLast: boolean) => void

                            Returns HttpResponse

                          • Accumulates all data chunks and calls handler with the complete body as an ArrayBuffer once all data has arrived. -If the total body size exceeds maxSize bytes, handler is called with null instead.

                            -

                            Parameters

                            • maxSize: number
                            • handler: (fullBody: ArrayBuffer) => void

                            Returns HttpResponse

                          • Registers a handler for writable events. Continue failed write attempts in here. +

                            Parameters

                            • handler: (chunk: ArrayBuffer, isLast: boolean) => void

                            Returns HttpResponse

                          • Handler for reading HTTP request body data. V2. +Must be attached before performing any asynchronous operation, otherwise data may be lost. +You MUST copy the data of chunk if maxRemainingBodyLength is not 0. We Neuter ArrayBuffers on return, making them zero length.

                            +

                            maxRemainingBodyLength is the known maximum of the remaining body length. Can be used to preallocate a receive buffer.

                            +

                            Parameters

                            • handler: (chunk: ArrayBuffer, maxRemainingBodyLength: bigint) => void

                            Returns HttpResponse

                          • Registers a handler for writable events. Continue failed write attempts in here. You MUST return true for success, false for failure. Writing nothing is always success, so by default you must return true.

                            -

                            Parameters

                            • handler: (offset: number) => boolean

                            Returns HttpResponse

                          • Pause HTTP request body streaming (throttle). +

                            Parameters

                            • handler: (offset: number) => boolean

                            Returns HttpResponse

                          • Pause HTTP request body streaming (throttle). Some buffered data may still be sent to onData.

                            -

                            Returns void

                          • Resume HTTP request body streaming (unthrottle).

                            -

                            Returns void

                          • Ends this response, or tries to, by streaming appropriately sized chunks of body. Use in conjunction with onWritable. Returns tuple [ok, hasResponded].

                            -

                            Parameters

                            Returns [boolean, boolean]

                          • Enters or continues chunked encoding mode. Writes part of the response. End with zero length write. Returns true if no backpressure was added.

                            -

                            Parameters

                            Returns boolean

                          • Resume HTTP request body streaming (unthrottle).

                            +

                            Returns void

                          • Ends this response, or tries to, by streaming appropriately sized chunks of body. Use in conjunction with onWritable. Returns tuple [ok, hasResponded].

                            +

                            Parameters

                            Returns [boolean, boolean]

                          • Enters or continues chunked encoding mode. Writes part of the response. End with zero length write. Returns true if no backpressure was added.

                            +

                            Parameters

                            Returns boolean

                          • Writes the HTTP status message such as "200 OK". This has to be called first in any response, otherwise it will be called automatically with "200 OK".

                            If you want to send custom headers in a WebSocket @@ -76,4 +78,4 @@ writeStatus with "200 OK" and the upgrade will fail.

                            As you can imagine, we format outgoing responses in a linear buffer, not in a hash table. You can read about this in the user manual under "corking".

                            -

                            Parameters

                            Returns HttpResponse

                          +

                          Parameters

                          Returns HttpResponse

                          diff --git a/docs/generated/interfaces/MultipartField.html b/docs/generated/interfaces/MultipartField.html index 2938d6f4..a712e1a9 100644 --- a/docs/generated/interfaces/MultipartField.html +++ b/docs/generated/interfaces/MultipartField.html @@ -1,5 +1,5 @@ -MultipartField | uWebSockets.js v20.61.0 documentation
                          uWebSockets.js v20.61.0 documentation
                            Preparing search index...

                            Interface MultipartField

                            interface MultipartField {
                                data: ArrayBuffer;
                                filename?: string;
                                name: string;
                                type?: string;
                            }
                            Index

                            Properties

                            data +MultipartField | uWebSockets.js v20.61.0 documentation
                            uWebSockets.js v20.61.0 documentation
                              Preparing search index...

                              Interface MultipartField

                              interface MultipartField {
                                  data: ArrayBuffer;
                                  filename?: string;
                                  name: string;
                                  type?: string;
                              }
                              Index

                              Properties

                              Properties

                              data: ArrayBuffer
                              filename?: string
                              name: string
                              type?: string
                              +

                              Properties

                              data: ArrayBuffer
                              filename?: string
                              name: string
                              type?: string
                              diff --git a/docs/generated/interfaces/TemplatedApp.html b/docs/generated/interfaces/TemplatedApp.html index 35960493..b105f14d 100644 --- a/docs/generated/interfaces/TemplatedApp.html +++ b/docs/generated/interfaces/TemplatedApp.html @@ -1,5 +1,5 @@ TemplatedApp | uWebSockets.js v20.61.0 documentation
                              uWebSockets.js v20.61.0 documentation
                                Preparing search index...

                                Interface TemplatedApp

                                TemplatedApp is either an SSL or non-SSL app. See App for more info, read user manual.

                                -
                                interface TemplatedApp {
                                    addChildAppDescriptor(descriptor: AppDescriptor): void;
                                    addServerName(hostname: string, options: AppOptions): TemplatedApp;
                                    any(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    close(): TemplatedApp;
                                    connect(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    del(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    domain(domain: string): TemplatedApp;
                                    filter(
                                        cb: (res: HttpResponse, count: Number) => void | Promise<void>,
                                    ): TemplatedApp;
                                    get(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    getDescriptor(): AppDescriptor;
                                    head(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        host: RecognizedString,
                                        port: number,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        host: RecognizedString,
                                        port: number,
                                        options: ListenOptions,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        port: number,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        port: number,
                                        options: ListenOptions,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen_unix(
                                        cb: (listenSocket: us_listen_socket) => void | Promise<void>,
                                        path: RecognizedString,
                                    ): TemplatedApp;
                                    missingServerName(cb: (hostname: string) => void): TemplatedApp;
                                    numSubscribers(topic: RecognizedString): number;
                                    options(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    patch(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    post(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    publish(
                                        topic: RecognizedString,
                                        message: RecognizedString,
                                        isBinary?: boolean,
                                        compress?: boolean,
                                    ): boolean;
                                    put(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    removeChildAppDescriptor(descriptor: AppDescriptor): void;
                                    removeServerName(hostname: string): TemplatedApp;
                                    trace(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    ws<UserData>(
                                        pattern: RecognizedString,
                                        behavior: WebSocketBehavior<UserData>,
                                    ): TemplatedApp;
                                }
                                Index

                                Methods

                                interface TemplatedApp {
                                    addChildAppDescriptor(descriptor: AppDescriptor): void;
                                    addServerName(hostname: string, options: AppOptions): TemplatedApp;
                                    any(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    close(): TemplatedApp;
                                    connect(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    del(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    domain(domain: string): TemplatedApp;
                                    filter(
                                        cb: (res: HttpResponse, count: Number) => void | Promise<void>,
                                    ): TemplatedApp;
                                    get(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    getDescriptor(): AppDescriptor;
                                    head(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        host: RecognizedString,
                                        port: number,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        host: RecognizedString,
                                        port: number,
                                        options: ListenOptions,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        port: number,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen(
                                        port: number,
                                        options: ListenOptions,
                                        cb: (listenSocket: false | us_listen_socket) => void | Promise<void>,
                                    ): TemplatedApp;
                                    listen_unix(
                                        cb: (listenSocket: us_listen_socket) => void | Promise<void>,
                                        path: RecognizedString,
                                    ): TemplatedApp;
                                    missingServerName(cb: (hostname: string) => void): TemplatedApp;
                                    numSubscribers(topic: RecognizedString): number;
                                    options(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    patch(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    post(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    publish(
                                        topic: RecognizedString,
                                        message: RecognizedString,
                                        isBinary?: boolean,
                                        compress?: boolean,
                                    ): boolean;
                                    put(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    removeChildAppDescriptor(descriptor: AppDescriptor): void;
                                    removeServerName(hostname: string): TemplatedApp;
                                    trace(
                                        pattern: RecognizedString,
                                        handler: (res: HttpResponse, req: HttpRequest) => void | Promise<void>,
                                    ): TemplatedApp;
                                    ws<UserData>(
                                        pattern: RecognizedString,
                                        behavior: WebSocketBehavior<UserData>,
                                    ): TemplatedApp;
                                }
                                Index

                                Methods

                                Methods

                                • Browse to SNI domain. Used together with .get, .post and similar to attach routes under SNI domains.

                                  -

                                  Parameters

                                  • domain: string

                                  Returns TemplatedApp

                                • Registers a synchronous callback on missing server names. See /examples/ServerName.js.

                                  -

                                  Parameters

                                  • cb: (hostname: string) => void

                                  Returns TemplatedApp

                                post

                                +

                                Parameters

                                Returns void

                                post

                                diff --git a/docs/generated/interfaces/WebSocketBehavior.html b/docs/generated/interfaces/WebSocketBehavior.html index 2c9597fa..b50d056b 100644 --- a/docs/generated/interfaces/WebSocketBehavior.html +++ b/docs/generated/interfaces/WebSocketBehavior.html @@ -1,5 +1,5 @@ WebSocketBehavior | uWebSockets.js v20.61.0 documentation
                                uWebSockets.js v20.61.0 documentation
                                  Preparing search index...

                                  Interface WebSocketBehavior<UserData>

                                  A structure holding settings and handlers for a WebSocket URL route handler.

                                  -
                                  interface WebSocketBehavior<UserData> {
                                      close?: (
                                          ws: WebSocket<UserData>,
                                          code: number,
                                          message: ArrayBuffer,
                                      ) => void;
                                      closeOnBackpressureLimit?: boolean;
                                      compression?: number;
                                      drain?: (ws: WebSocket<UserData>) => void;
                                      dropped?: (
                                          ws: WebSocket<UserData>,
                                          message: ArrayBuffer,
                                          isBinary: boolean,
                                      ) => void | Promise<void>;
                                      idleTimeout?: number;
                                      maxBackpressure?: number;
                                      maxLifetime?: number;
                                      maxPayloadLength?: number;
                                      message?: (
                                          ws: WebSocket<UserData>,
                                          message: ArrayBuffer,
                                          isBinary: boolean,
                                      ) => void | Promise<void>;
                                      open?: (ws: WebSocket<UserData>) => void | Promise<void>;
                                      ping?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void;
                                      pong?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void;
                                      sendPingsAutomatically?: boolean;
                                      subscription?: (
                                          ws: WebSocket<UserData>,
                                          topic: ArrayBuffer,
                                          newCount: number,
                                          oldCount: number,
                                      ) => void;
                                      upgrade?: (
                                          res: HttpResponse,
                                          req: HttpRequest,
                                          context: us_socket_context_t,
                                      ) => void | Promise<void>;
                                  }

                                  Type Parameters

                                  • UserData
                                  Index

                                  Properties

                                  interface WebSocketBehavior<UserData> {
                                      close?: (
                                          ws: WebSocket<UserData>,
                                          code: number,
                                          message: ArrayBuffer,
                                      ) => void;
                                      closeOnBackpressureLimit?: boolean;
                                      compression?: number;
                                      drain?: (ws: WebSocket<UserData>) => void;
                                      dropped?: (
                                          ws: WebSocket<UserData>,
                                          message: ArrayBuffer,
                                          isBinary: boolean,
                                      ) => void | Promise<void>;
                                      idleTimeout?: number;
                                      maxBackpressure?: number;
                                      maxLifetime?: number;
                                      maxPayloadLength?: number;
                                      message?: (
                                          ws: WebSocket<UserData>,
                                          message: ArrayBuffer,
                                          isBinary: boolean,
                                      ) => void | Promise<void>;
                                      open?: (ws: WebSocket<UserData>) => void | Promise<void>;
                                      ping?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void;
                                      pong?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void;
                                      sendPingsAutomatically?: boolean;
                                      subscription?: (
                                          ws: WebSocket<UserData>,
                                          topic: ArrayBuffer,
                                          newCount: number,
                                          oldCount: number,
                                      ) => void;
                                      upgrade?: (
                                          res: HttpResponse,
                                          req: HttpRequest,
                                          context: us_socket_context_t,
                                      ) => void | Promise<void>;
                                  }

                                  Type Parameters

                                  • UserData
                                  Index

                                  Properties

                                  close?: (ws: WebSocket<UserData>, code: number, message: ArrayBuffer) => void

                                  Handler for close event, no matter if error, timeout or graceful close. You may not use WebSocket after this event. Do not send on this WebSocket from within here, it is closed.

                                  -
                                  closeOnBackpressureLimit?: boolean

                                  Whether or not we should automatically close the socket when a message is dropped due to backpressure. Defaults to false.

                                  -
                                  compression?: number

                                  What permessage-deflate compression to use. uWS.DISABLED, uWS.SHARED_COMPRESSOR or any of the uWS.DEDICATED_COMPRESSOR_xxxKB. Defaults to uWS.DISABLED.

                                  -
                                  drain?: (ws: WebSocket<UserData>) => void

                                  Handler for when WebSocket backpressure drains. Check ws.getBufferedAmount(). Use this to guide / drive your backpressure throttling.

                                  -
                                  dropped?: (
                                      ws: WebSocket<UserData>,
                                      message: ArrayBuffer,
                                      isBinary: boolean,
                                  ) => void | Promise<void>

                                  Handler for a dropped WebSocket message. Messages can be dropped due to specified backpressure settings. Messages are given as ArrayBuffer no matter if they are binary or not. Given ArrayBuffer is valid during the lifetime of this callback (until first await or return) and will be neutered.

                                  -
                                  idleTimeout?: number

                                  Maximum amount of seconds that may pass without sending or getting a message. Connection is closed if this timeout passes. Resolution (granularity) for timeouts are typically 4 seconds, rounded to closest. +

                                  closeOnBackpressureLimit?: boolean

                                  Whether or not we should automatically close the socket when a message is dropped due to backpressure. Defaults to false.

                                  +
                                  compression?: number

                                  What permessage-deflate compression to use. uWS.DISABLED, uWS.SHARED_COMPRESSOR or any of the uWS.DEDICATED_COMPRESSOR_xxxKB. Defaults to uWS.DISABLED.

                                  +
                                  drain?: (ws: WebSocket<UserData>) => void

                                  Handler for when WebSocket backpressure drains. Check ws.getBufferedAmount(). Use this to guide / drive your backpressure throttling.

                                  +
                                  dropped?: (
                                      ws: WebSocket<UserData>,
                                      message: ArrayBuffer,
                                      isBinary: boolean,
                                  ) => void | Promise<void>

                                  Handler for a dropped WebSocket message. Messages can be dropped due to specified backpressure settings. Messages are given as ArrayBuffer no matter if they are binary or not. Given ArrayBuffer is valid during the lifetime of this callback (until first await or return) and will be neutered.

                                  +
                                  idleTimeout?: number

                                  Maximum amount of seconds that may pass without sending or getting a message. Connection is closed if this timeout passes. Resolution (granularity) for timeouts are typically 4 seconds, rounded to closest. Disable by using 0. Defaults to 120.

                                  -
                                  maxBackpressure?: number

                                  Maximum length of allowed backpressure per socket when publishing or sending messages. Slow receivers with too high backpressure will be skipped until they catch up or timeout. Defaults to 64 * 1024.

                                  -
                                  maxLifetime?: number

                                  Maximum number of minutes a WebSocket may be connected before being closed by the server. 0 disables the feature. Valid values are 0 and 1-239.

                                  -
                                  maxPayloadLength?: number

                                  Maximum length of received message. If a client tries to send you a message larger than this, the connection is immediately closed. Defaults to 16 * 1024.

                                  -
                                  message?: (
                                      ws: WebSocket<UserData>,
                                      message: ArrayBuffer,
                                      isBinary: boolean,
                                  ) => void | Promise<void>

                                  Handler for a WebSocket message. Messages are given as ArrayBuffer no matter if they are binary or not. Given ArrayBuffer is valid during the lifetime of this callback (until first await or return) and will be neutered.

                                  -
                                  open?: (ws: WebSocket<UserData>) => void | Promise<void>

                                  Handler for new WebSocket connection. WebSocket is valid from open to close, no errors.

                                  -
                                  ping?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void

                                  Handler for received ping control message. You do not need to handle this, pong messages are automatically sent as per the standard.

                                  -
                                  pong?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void

                                  Handler for received pong control message.

                                  -
                                  sendPingsAutomatically?: boolean

                                  Whether or not we should automatically send pings to uphold a stable connection given whatever idleTimeout.

                                  -
                                  subscription?: (
                                      ws: WebSocket<UserData>,
                                      topic: ArrayBuffer,
                                      newCount: number,
                                      oldCount: number,
                                  ) => void

                                  Handler for subscription changes.

                                  -
                                  upgrade?: (
                                      res: HttpResponse,
                                      req: HttpRequest,
                                      context: us_socket_context_t,
                                  ) => void | Promise<void>

                                  Upgrade handler used to intercept HTTP upgrade requests and potentially upgrade to WebSocket. +

                                  maxBackpressure?: number

                                  Maximum length of allowed backpressure per socket when publishing or sending messages. Slow receivers with too high backpressure will be skipped until they catch up or timeout. Defaults to 64 * 1024.

                                  +
                                  maxLifetime?: number

                                  Maximum number of minutes a WebSocket may be connected before being closed by the server. 0 disables the feature. Valid values are 0 and 1-239.

                                  +
                                  maxPayloadLength?: number

                                  Maximum length of received message. If a client tries to send you a message larger than this, the connection is immediately closed. Defaults to 16 * 1024.

                                  +
                                  message?: (
                                      ws: WebSocket<UserData>,
                                      message: ArrayBuffer,
                                      isBinary: boolean,
                                  ) => void | Promise<void>

                                  Handler for a WebSocket message. Messages are given as ArrayBuffer no matter if they are binary or not. Given ArrayBuffer is valid during the lifetime of this callback (until first await or return) and will be neutered.

                                  +
                                  open?: (ws: WebSocket<UserData>) => void | Promise<void>

                                  Handler for new WebSocket connection. WebSocket is valid from open to close, no errors.

                                  +
                                  ping?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void

                                  Handler for received ping control message. You do not need to handle this, pong messages are automatically sent as per the standard.

                                  +
                                  pong?: (ws: WebSocket<UserData>, message: ArrayBuffer) => void

                                  Handler for received pong control message.

                                  +
                                  sendPingsAutomatically?: boolean

                                  Whether or not we should automatically send pings to uphold a stable connection given whatever idleTimeout.

                                  +
                                  subscription?: (
                                      ws: WebSocket<UserData>,
                                      topic: ArrayBuffer,
                                      newCount: number,
                                      oldCount: number,
                                  ) => void

                                  Handler for subscription changes.

                                  +
                                  upgrade?: (
                                      res: HttpResponse,
                                      req: HttpRequest,
                                      context: us_socket_context_t,
                                  ) => void | Promise<void>

                                  Upgrade handler used to intercept HTTP upgrade requests and potentially upgrade to WebSocket. See UpgradeAsync and UpgradeSync example files.

                                  -
                                  +
                                  diff --git a/docs/generated/modules/EnvironmentVariables.html b/docs/generated/modules/EnvironmentVariables.html new file mode 100644 index 00000000..7b9c8f57 --- /dev/null +++ b/docs/generated/modules/EnvironmentVariables.html @@ -0,0 +1,3 @@ +EnvironmentVariables | uWebSockets.js v20.61.0 documentation
                                  uWebSockets.js v20.61.0 documentation
                                    Preparing search index...

                                    Namespace EnvironmentVariables

                                    Environment variables recognized by uWebSockets.js.

                                    +

                                    These can be set in the process environment before starting the server.

                                    +

                                    Variables

                                    UWS_HTTP_MAX_HEADERS_COUNT
                                    UWS_HTTP_MAX_HEADERS_SIZE
                                    diff --git a/docs/generated/types/CompressOptions.html b/docs/generated/types/CompressOptions.html index 75524340..d6cf60c3 100644 --- a/docs/generated/types/CompressOptions.html +++ b/docs/generated/types/CompressOptions.html @@ -1,2 +1,2 @@ CompressOptions | uWebSockets.js v20.61.0 documentation
                                    uWebSockets.js v20.61.0 documentation
                                      Preparing search index...

                                      Type Alias CompressOptions

                                      CompressOptions: number

                                      WebSocket compression options. Combine any compressor with any decompressor using bitwise OR.

                                      -
                                      +
                                      diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_128KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_128KB.html index aca4987b..15435535 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_128KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_128KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_128KB | uWebSockets.js v20.61.0 documentation
                                      uWebSockets.js v20.61.0 documentation
                                        Preparing search index...

                                        Variable DEDICATED_COMPRESSOR_128KB

                                        DEDICATED_COMPRESSOR_128KB: CompressOptions

                                        Sliding dedicated compress window, requires 128KB of memory per socket

                                        -
                                        +
                                        diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_16KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_16KB.html index b1341b26..c8d7a973 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_16KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_16KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_16KB | uWebSockets.js v20.61.0 documentation
                                        uWebSockets.js v20.61.0 documentation
                                          Preparing search index...

                                          Variable DEDICATED_COMPRESSOR_16KB

                                          DEDICATED_COMPRESSOR_16KB: CompressOptions

                                          Sliding dedicated compress window, requires 16KB of memory per socket

                                          -
                                          +
                                          diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_256KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_256KB.html index 98381917..1ff0ceeb 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_256KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_256KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_256KB | uWebSockets.js v20.61.0 documentation
                                          uWebSockets.js v20.61.0 documentation
                                            Preparing search index...

                                            Variable DEDICATED_COMPRESSOR_256KB

                                            DEDICATED_COMPRESSOR_256KB: CompressOptions

                                            Sliding dedicated compress window, requires 256KB of memory per socket

                                            -
                                            +
                                            diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_32KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_32KB.html index 0d2cd1aa..5eb54c60 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_32KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_32KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_32KB | uWebSockets.js v20.61.0 documentation
                                            uWebSockets.js v20.61.0 documentation
                                              Preparing search index...

                                              Variable DEDICATED_COMPRESSOR_32KB

                                              DEDICATED_COMPRESSOR_32KB: CompressOptions

                                              Sliding dedicated compress window, requires 32KB of memory per socket

                                              -
                                              +
                                              diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_3KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_3KB.html index 4be87072..83a93559 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_3KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_3KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_3KB | uWebSockets.js v20.61.0 documentation
                                              uWebSockets.js v20.61.0 documentation
                                                Preparing search index...

                                                Variable DEDICATED_COMPRESSOR_3KB

                                                DEDICATED_COMPRESSOR_3KB: CompressOptions

                                                Sliding dedicated compress window, requires 3KB of memory per socket

                                                -
                                                +
                                                diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_4KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_4KB.html index 3d94d025..3ef467f5 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_4KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_4KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_4KB | uWebSockets.js v20.61.0 documentation
                                                uWebSockets.js v20.61.0 documentation
                                                  Preparing search index...

                                                  Variable DEDICATED_COMPRESSOR_4KB

                                                  DEDICATED_COMPRESSOR_4KB: CompressOptions

                                                  Sliding dedicated compress window, requires 4KB of memory per socket

                                                  -
                                                  +
                                                  diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_64KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_64KB.html index 52f4a540..73ad1ce4 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_64KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_64KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_64KB | uWebSockets.js v20.61.0 documentation
                                                  uWebSockets.js v20.61.0 documentation
                                                    Preparing search index...

                                                    Variable DEDICATED_COMPRESSOR_64KB

                                                    DEDICATED_COMPRESSOR_64KB: CompressOptions

                                                    Sliding dedicated compress window, requires 64KB of memory per socket

                                                    -
                                                    +
                                                    diff --git a/docs/generated/variables/DEDICATED_COMPRESSOR_8KB.html b/docs/generated/variables/DEDICATED_COMPRESSOR_8KB.html index 42f7ddce..968927d9 100644 --- a/docs/generated/variables/DEDICATED_COMPRESSOR_8KB.html +++ b/docs/generated/variables/DEDICATED_COMPRESSOR_8KB.html @@ -1,2 +1,2 @@ DEDICATED_COMPRESSOR_8KB | uWebSockets.js v20.61.0 documentation
                                                    uWebSockets.js v20.61.0 documentation
                                                      Preparing search index...

                                                      Variable DEDICATED_COMPRESSOR_8KB

                                                      DEDICATED_COMPRESSOR_8KB: CompressOptions

                                                      Sliding dedicated compress window, requires 8KB of memory per socket

                                                      -
                                                      +
                                                      diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR.html index b8bc7b22..0a027d16 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR | uWebSockets.js v20.61.0 documentation
                                                      uWebSockets.js v20.61.0 documentation
                                                        Preparing search index...

                                                        Variable DEDICATED_DECOMPRESSOR

                                                        DEDICATED_DECOMPRESSOR: CompressOptions

                                                        Sliding dedicated decompress window, requires 32KB of memory per socket (plus about 23KB)

                                                        -
                                                        +
                                                        diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_16KB.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_16KB.html index 02396e5a..e5b9418c 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_16KB.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_16KB.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_16KB | uWebSockets.js v20.61.0 documentation
                                                        uWebSockets.js v20.61.0 documentation
                                                          Preparing search index...

                                                          Variable DEDICATED_DECOMPRESSOR_16KB

                                                          DEDICATED_DECOMPRESSOR_16KB: CompressOptions

                                                          Sliding dedicated decompress window, requires 16KB of memory per socket (plus about 23KB)

                                                          -
                                                          +
                                                          diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_1KB.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_1KB.html index 0214647c..cfcf5e00 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_1KB.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_1KB.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_1KB | uWebSockets.js v20.61.0 documentation
                                                          uWebSockets.js v20.61.0 documentation
                                                            Preparing search index...

                                                            Variable DEDICATED_DECOMPRESSOR_1KB

                                                            DEDICATED_DECOMPRESSOR_1KB: CompressOptions

                                                            Sliding dedicated decompress window, requires 1KB of memory per socket (plus about 23KB)

                                                            -
                                                            +
                                                            diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_2KB.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_2KB.html index 67830106..e34679be 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_2KB.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_2KB.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_2KB | uWebSockets.js v20.61.0 documentation
                                                            uWebSockets.js v20.61.0 documentation
                                                              Preparing search index...

                                                              Variable DEDICATED_DECOMPRESSOR_2KB

                                                              DEDICATED_DECOMPRESSOR_2KB: CompressOptions

                                                              Sliding dedicated decompress window, requires 2KB of memory per socket (plus about 23KB)

                                                              -
                                                              +
                                                              diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_32KB.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_32KB.html index db5b0105..baf00190 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_32KB.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_32KB.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_32KB | uWebSockets.js v20.61.0 documentation
                                                              uWebSockets.js v20.61.0 documentation
                                                                Preparing search index...

                                                                Variable DEDICATED_DECOMPRESSOR_32KB

                                                                DEDICATED_DECOMPRESSOR_32KB: CompressOptions

                                                                Sliding dedicated decompress window, requires 32KB of memory per socket (plus about 23KB)

                                                                -
                                                                +
                                                                diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_4KB.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_4KB.html index 0206e2ab..3b832279 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_4KB.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_4KB.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_4KB | uWebSockets.js v20.61.0 documentation
                                                                uWebSockets.js v20.61.0 documentation
                                                                  Preparing search index...

                                                                  Variable DEDICATED_DECOMPRESSOR_4KB

                                                                  DEDICATED_DECOMPRESSOR_4KB: CompressOptions

                                                                  Sliding dedicated decompress window, requires 4KB of memory per socket (plus about 23KB)

                                                                  -
                                                                  +
                                                                  diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_512B.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_512B.html index c7b2666a..a59fd8f8 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_512B.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_512B.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_512B | uWebSockets.js v20.61.0 documentation
                                                                  uWebSockets.js v20.61.0 documentation
                                                                    Preparing search index...

                                                                    Variable DEDICATED_DECOMPRESSOR_512B

                                                                    DEDICATED_DECOMPRESSOR_512B: CompressOptions

                                                                    Sliding dedicated decompress window, requires 512B of memory per socket (plus about 23KB)

                                                                    -
                                                                    +
                                                                    diff --git a/docs/generated/variables/DEDICATED_DECOMPRESSOR_8KB.html b/docs/generated/variables/DEDICATED_DECOMPRESSOR_8KB.html index b893b7ba..80a3dfca 100644 --- a/docs/generated/variables/DEDICATED_DECOMPRESSOR_8KB.html +++ b/docs/generated/variables/DEDICATED_DECOMPRESSOR_8KB.html @@ -1,2 +1,2 @@ DEDICATED_DECOMPRESSOR_8KB | uWebSockets.js v20.61.0 documentation
                                                                    uWebSockets.js v20.61.0 documentation
                                                                      Preparing search index...

                                                                      Variable DEDICATED_DECOMPRESSOR_8KB

                                                                      DEDICATED_DECOMPRESSOR_8KB: CompressOptions

                                                                      Sliding dedicated decompress window, requires 8KB of memory per socket (plus about 23KB)

                                                                      -
                                                                      +
                                                                      diff --git a/docs/generated/variables/DISABLED.html b/docs/generated/variables/DISABLED.html index 8c90a72b..1f4a09d8 100644 --- a/docs/generated/variables/DISABLED.html +++ b/docs/generated/variables/DISABLED.html @@ -1,2 +1,2 @@ DISABLED | uWebSockets.js v20.61.0 documentation
                                                                      uWebSockets.js v20.61.0 documentation
                                                                        Preparing search index...

                                                                        Variable DISABLED

                                                                        DISABLED: CompressOptions

                                                                        No compression (always a good idea if you operate using an efficient binary protocol)

                                                                        -
                                                                        +
                                                                        diff --git a/docs/generated/variables/EnvironmentVariables.UWS_HTTP_MAX_HEADERS_COUNT.html b/docs/generated/variables/EnvironmentVariables.UWS_HTTP_MAX_HEADERS_COUNT.html new file mode 100644 index 00000000..43114454 --- /dev/null +++ b/docs/generated/variables/EnvironmentVariables.UWS_HTTP_MAX_HEADERS_COUNT.html @@ -0,0 +1,2 @@ +UWS_HTTP_MAX_HEADERS_COUNT | uWebSockets.js v20.61.0 documentation
                                                                        uWebSockets.js v20.61.0 documentation
                                                                          Preparing search index...

                                                                          Variable UWS_HTTP_MAX_HEADERS_COUNTConst

                                                                          UWS_HTTP_MAX_HEADERS_COUNT: string | undefined

                                                                          Maximum number of HTTP request headers. This is a compile-time define, not a runtime env variable. Default: 100.

                                                                          +
                                                                          diff --git a/docs/generated/variables/EnvironmentVariables.UWS_HTTP_MAX_HEADERS_SIZE.html b/docs/generated/variables/EnvironmentVariables.UWS_HTTP_MAX_HEADERS_SIZE.html new file mode 100644 index 00000000..b8e35d5a --- /dev/null +++ b/docs/generated/variables/EnvironmentVariables.UWS_HTTP_MAX_HEADERS_SIZE.html @@ -0,0 +1,2 @@ +UWS_HTTP_MAX_HEADERS_SIZE | uWebSockets.js v20.61.0 documentation
                                                                          uWebSockets.js v20.61.0 documentation
                                                                            Preparing search index...

                                                                            Variable UWS_HTTP_MAX_HEADERS_SIZEConst

                                                                            UWS_HTTP_MAX_HEADERS_SIZE: string | undefined

                                                                            Maximum total byte size of HTTP request headers. This is a runtime env variable. Default: 4096.

                                                                            +
                                                                            diff --git a/docs/generated/variables/SHARED_COMPRESSOR.html b/docs/generated/variables/SHARED_COMPRESSOR.html index 86231a39..956e9b96 100644 --- a/docs/generated/variables/SHARED_COMPRESSOR.html +++ b/docs/generated/variables/SHARED_COMPRESSOR.html @@ -1,2 +1,2 @@ SHARED_COMPRESSOR | uWebSockets.js v20.61.0 documentation
                                                                            uWebSockets.js v20.61.0 documentation
                                                                              Preparing search index...

                                                                              Variable SHARED_COMPRESSOR

                                                                              SHARED_COMPRESSOR: CompressOptions

                                                                              Zero memory overhead compression.

                                                                              -
                                                                              +
                                                                              diff --git a/docs/generated/variables/SHARED_DECOMPRESSOR.html b/docs/generated/variables/SHARED_DECOMPRESSOR.html index 02e467ee..371cee91 100644 --- a/docs/generated/variables/SHARED_DECOMPRESSOR.html +++ b/docs/generated/variables/SHARED_DECOMPRESSOR.html @@ -1,2 +1,2 @@ SHARED_DECOMPRESSOR | uWebSockets.js v20.61.0 documentation
                                                                              uWebSockets.js v20.61.0 documentation
                                                                                Preparing search index...

                                                                                Variable SHARED_DECOMPRESSOR

                                                                                SHARED_DECOMPRESSOR: CompressOptions

                                                                                Zero memory overhead decompression.

                                                                                -
                                                                                +