Files
3dverse-testtask/vendor/deno.land/x/oak@v12.1.0/mod.ts
T

142 lines
4.0 KiB
TypeScript

// Copyright 2018-2022 the oak authors. All rights reserved. MIT license.
/**
* A middleware framework for handling HTTP with Deno.
*
* oak works well on both Deno CLI and Deno deploy, and is inspired by
* [koa](https://koajs.com/). It works well with both the Deno CLI and
* [Deno Deploy](https://deno.com/deploy).
*
* ### Example server
*
* A minimal router server which responds with content on `/`. With Deno CLI
* this will listen on port 8080 and on Deploy, this will simply serve requests
* received on the application.
*
* ```ts
* import { Application, Router } from "https://deno.land/x/oak/mod.ts";
*
* const router = new Router();
* router.get("/", (ctx) => {
* ctx.response.body = `<!DOCTYPE html>
* <html>
* <head><title>Hello oak!</title><head>
* <body>
* <h1>Hello oak!</h1>
* </body>
* </html>
* `;
* });
*
* const app = new Application();
* app.use(router.routes());
* app.use(router.allowedMethods());
*
* app.listen({ port: 8080 });
* ```
*
* ### Using Deno's flash server
*
* Currently, Deno's flash server is not the default, even with the `--unstable`
* flag. In order to use the flash server, you need to provide the
* {@linkcode FlashServer} to the {@linkcode Application} constructor:
*
* ```ts
* import { Application, FlashServer } from "https://deno.land/x/oak/mod.ts";
*
* const app = new Application({ serverConstructor: FlashServer });
*
* // register middleware
*
* app.listen({ port: 8080 });
* ```
*
* Note the currently Deno's flash server requires the `--unstable` flag. If it
* isn't present, the application will error on listening.
*
* @module
*/
export { Application } from "./application.ts";
export type {
ApplicationOptions,
ListenOptions,
ListenOptionsBase,
ListenOptionsTls,
State,
} from "./application.ts";
export type {
BodyBytes,
BodyContentTypes,
BodyForm,
BodyFormData,
BodyJson,
BodyOptions,
BodyOptionsContentTypes,
BodyReader,
BodyStream,
BodyText,
BodyType,
BodyUndefined,
} from "./body.ts";
export { Context, type ContextSendOptions } from "./context.ts";
export * as helpers from "./helpers.ts";
export * as etag from "./etag.ts";
export { HttpRequest } from "./http_request.ts";
export { FlashServer, hasFlash } from "./http_server_flash.ts";
export { HttpServer as HttpServerNative } from "./http_server_native.ts";
export { type NativeRequest } from "./http_server_native_request.ts";
export { proxy } from "./middleware/proxy.ts";
export type { ProxyOptions } from "./middleware/proxy.ts";
export { compose as composeMiddleware } from "./middleware.ts";
export type { Middleware } from "./middleware.ts";
export { FormDataReader } from "./multipart.ts";
export type {
FormDataBody,
FormDataFile,
FormDataReadOptions,
} from "./multipart.ts";
export { ifRange, MultiPartStream, parseRange } from "./range.ts";
export type { ByteRange } from "./range.ts";
export { Request } from "./request.ts";
export { REDIRECT_BACK, Response } from "./response.ts";
export { Router } from "./router.ts";
export type {
Route,
RouteParams,
RouterAllowedMethodsOptions,
RouterContext,
RouterMiddleware,
RouterOptions,
RouterParamMiddleware,
} from "./router.ts";
export { send } from "./send.ts";
export type { SendOptions } from "./send.ts";
export { ServerSentEvent } from "./server_sent_event.ts";
export type {
ServerSentEventInit,
ServerSentEventTarget,
} from "./server_sent_event.ts";
/** Utilities for making testing oak servers easier. */
export * as testing from "./testing.ts";
export type {
ErrorStatus,
HTTPMethods,
RedirectStatus,
ServerConstructor,
} from "./types.d.ts";
export { isErrorStatus, isRedirectStatus } from "./util.ts";
// Re-exported from `std/http`
export {
createHttpError,
errors as httpErrors,
HttpError,
isHttpError,
SecureCookieMap as Cookies,
type SecureCookieMapGetOptions as CookiesGetOptions,
type SecureCookieMapSetDeleteOptions as CookiesSetDeleteOptions,
Status,
STATUS_TEXT,
} from "./deps.ts";