Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/hex/src/fw/service/deps.ts

An ecosystem delivering practices, philosophy and portability. Powered By Deno and JavaScript.
Latest
import * as hex from "https://deno.land/x/hex@0.6.5/src/fw/service/deps.ts";

Namespaces

A library of assertion functions. If the assertion is false an AssertionError will be thrown which will result in pretty-printed diff of failing assertion.

Logging library with the support for terminal and file outputs. Also provides interfaces for building custom loggers.

A middleware framework for handling HTTP with Deno.

A collection of APIs for dealing with ETags in requests and responses.

A collection of APIs to help assist in creating middleware.

A collection of utility APIs which can make testing of an oak application easier.

Classes

An object that encapsulates provided message and arguments as well some metadata that can be later used when formatting a message.

A class which registers middleware (via .use()) and then processes inbound requests against that middleware (via .listen()).

Provides context about the current request and response to middleware functions, and the current instance being processed is the first argument provided a Middleware function.

An interface which allows setting and accessing cookies related to both the current request and response. Each Context has a property .cookies which is an instance of this class.

A server abstraction which manages requests from Deno's flash server.

An interface which provides an interface to access the fields of a multipart/form-data body.

The base class that all derivative HTTP extend, providing a status and an expose property.

An abstraction which wraps a Request from Deno's flash server. The constructor takes a Deferred which it will resolve when the response is ready.

The oak abstraction of the Deno native HTTP server which is used internally for handling native HTTP requests. Generally users of oak do not need to worry about this class.

A class that takes a file (either a Deno.FsFile or Uint8Array) and bytes and streams the ranges as a multi-part encoded HTTP body.

An internal oak abstraction for handling a Deno native request. Most users of oak do not need to worry about this abstraction.

An interface which provides information about the current request. The instance related to the current request is available on the Context's .request property.

An interface to control what response will be sent when the middleware finishes processing the request.

An interface for registering middleware that will run when certain HTTP methods and paths are requested, as well as provides a way to parameterize parts of the requested path.

An event which contains information which will be sent to the remote connection and be made available in an EventSource as an event. A server creates new events and dispatches them on the target which will then be sent to a client.

Enums

Get log level numeric values through enum constants. Defaults to INFO.

Standard HTTP status codes.

Variables

Handlers are responsible for actual output of log messages. When a handler is called by a logger, it firstly checks that LogRecord's level is not lower than level of the handler. If level check passes, handlers formats log record into string and outputs it to target.

A map of HttpErrors that are unique instances for each HTTP error status code.

A symbol that indicates to response.redirect() to attempt to redirect back to the request referrer. For example:

A record of all the status codes text.

Allows external parties to modify the context state.

Functions

Make an assertion, error will be thrown if expr does not have truthy value.

Make an assertion that actual and expected are almost equal numbers through a given tolerance. It can be used to take into account IEEE-754 double-precision floating-point representation limitations. If the values are not almost equal then throw.

Make an assertion that actual includes the expected values. If not then an error will be thrown.

Make an assertion that actual and expected are equal, deeply. If not deeply equal, then throw.

Make an assertion that actual is not null or undefined. If not then throw.

Make an assertion that obj is an instance of type. If not then throw.

Make an assertion that error is an Error. If not then an error will be thrown. An error class and a string that should be included in the error message can also be asserted.

Make an assertion that actual match RegExp expected. If not then throw.

Make an assertion that actual and expected are not equal, deeply. If not then throw.

Make an assertion that obj is not an instance of type. If so, then throw.

Make an assertion that actual not match RegExp expected. If match then throw.

Make an assertion that actual and expected are not strictly equal. If the values are strictly equal then throw.

Make an assertion that actual object is a subset of expected object, deeply. If not, then throw.

Executes a function which returns a promise, expecting it to reject.

Make an assertion that actual and expected are strictly equal. If not then throw.

Make an assertion that actual includes expected. If not then throw.

Executes a function, expecting it to throw. If it does not, then it throws.

Deep equality comparison used in assertions

Forcefully throws a failed assertion

Use this to stub out methods that will throw when invoked.

Use this to assert unreachable code.

Takes Header, Payload and CryptoKey and returns the url-safe encoded jwt.

Takes a jwt and returns a 3-tuple [unknown, unknown, Uint8Array] if the jwt has a valid serialization. Otherwise it throws an Error. This function does not verify the digital signature.

This helper function simplifies setting a NumericDate. It takes either a Date object or a number (in seconds) and returns the number of seconds from 1970-01-01T00:00:00Z UTC until the specified UTC date/time.

It does not verify the digital signature.

Takes jwt, CryptoKey and VerifyOptions and returns the Payload of the jwt if the jwt is valid. Otherwise it throws an Error.

Log with critical level, using default logger.

Log with debug level, using default logger.

Log with error level, using default logger.

Get a logger instance. If not specified name, get the default logger.

Log with info level, using default logger.

Setup logger config.

Log with warning level, using default logger.

Compose multiple middleware functions into a single middleware function.

Create an instance of an HttpError based on the status code provided.

Calculate an ETag value for an entity. If the entity is FileInfo, then the tag will default to a weak ETag. options.weak overrides any default behavior in generating the tag.

Create middleware that will attempt to decode the response.body into something that can be used to generate an ETag and add the ETag header to the response.

For a given Context, try to determine the response body entity that an ETag can be calculated from.

A helper function that takes the value from the If-Match header and an entity and returns true if the ETag for the entity matches the supplied value, otherwise false.

A helper function that takes the value from the If-No-Match header and an entity and returns false if the ETag for the entity matches the supplied value, otherwise false.

A function that determines if the current environment supports Deno flash.

Given a context, return the .request.url.searchParams as a Map of keys and values of the params.

Determine, by the value of an If-Range header, if a Range header should be applied to a request, returning true if it should or otherwise false.

Determines if a HTTP Status is an ErrorStatus (4XX or 5XX).

A type guard that determines if the value is an HttpError or not.

Determines if a HTTP Status is a RedirectStatus (3XX).

Middleware that provides a back-to-back proxy for requests.

Asynchronously fulfill a response with a file from the local file system.

Creates a mock of Application.

Create a mock of Context or RouterContext.

Creates a mock next() function which can be used when calling middleware.

Interfaces

JWS §4.1.1: The "alg" value is a case-sensitive ASCII string containing a StringOrURI value. This Header Parameter MUST be present and MUST be understood and processed by implementations.

JWT §1: JWTs encode claims to be transmitted as a JSON [RFC7159] object [...]. JWT §4.1: The following Claim Names are registered in the IANA "JSON Web Token Claims" registry established by Section 10.1. None of the claims defined below are intended to be mandatory to use or implement in all cases, but rather they provide a starting point for a set of useful, interoperable claims. Applications using JWTs should define which specific claims they use and when they are required or optional.

Available options that are used when creating a new instance of Application.

Options which can be used when accessing the .body() of a request.

When setting the contentTypes property of BodyOptions, provide additional content types which can influence how the body is decoded. This is specifically designed to allow a server to support custom or specialized media types that are not part of the public database.

Just the part of Deno.FileInfo that is required to calculate an ETag, so partial or user generated file information can be passed.

When reading a body in full via .read() from a FormDataReader this is what is what the value is resolved, providing a split between any fields, and multi-part files that were provided.

A representation of a file that has been read from a form data body. Based on the FormDataReadOptions that were passed when reading will determine if files are written to disk or not and how they are written to disk. When written to disk, the extension of the file will be determined by the content type, with the .filename property containing the full path to the file.

Options which impact how the form data is decoded for a FormDataReader. All these options have sensible defaults for most applications, but can be modified for different use cases. Many of these options can have an impact on the stability of a server, especially if there is someone attempting a denial of service attack on your server, so be careful when changing the defaults.

Middleware are functions which are chained together to deal with requests.

The context passed router middleware.

Middleware that will be called by the router when handling a specific parameter, which the middleware will be called when a request matches the route parameter.

Options that can be set in a mock context.

Type Aliases

Union of valid log level strings

The tagged type for "bytes" bodies.

The tagged type for "form" bodies.

The tagged type for "form-data" bodies.

The tagged type for "json" bodies.

The tagged type for "reader" bodies.

The tagged type for "stream" bodies.

The tagged type for "text" bodies.

The type of the body, where:

The tagged type for "undefined" bodies.

A HTTP status that is an error (4XX and 5XX).

A HTTP status that is a redirect (3XX).