mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 12:56:46 +08:00
69 lines
2.7 KiB
TypeScript
69 lines
2.7 KiB
TypeScript
// Type definitions for urlrouter
|
|
// Project: https://github.com/fengmk2/urlrouter
|
|
// Definitions by: soywiz <https://github.com/soywiz>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
/// <reference types="node" />
|
|
|
|
|
|
import http = require("http");
|
|
|
|
declare function UrlRouterInternal(handler: (app: UrlRouterInternal.App) => void): UrlRouterInternal.HttpHandler;
|
|
|
|
declare namespace UrlRouterInternal {
|
|
|
|
|
|
interface ServerRequest extends http.IncomingMessage {
|
|
params: any;
|
|
}
|
|
|
|
interface ServerResponse extends http.ServerResponse {
|
|
|
|
}
|
|
|
|
interface App {
|
|
// https://github.com/visionmedia/node-methods/blob/master/index.js
|
|
get(urlpattern: string, handler: HttpHandler): void;
|
|
post(urlpattern: string, handler: HttpHandler): void;
|
|
put(urlpattern: string, handler: HttpHandler): void;
|
|
head(urlpattern: string, handler: HttpHandler): void;
|
|
delete(urlpattern: string, handler: HttpHandler): void;
|
|
options(urlpattern: string, handler: HttpHandler): void;
|
|
trace(urlpattern: string, handler: HttpHandler): void;
|
|
copy(urlpattern: string, handler: HttpHandler): void;
|
|
lock(urlpattern: string, handler: HttpHandler): void;
|
|
mkcol(urlpattern: string, handler: HttpHandler): void;
|
|
move(urlpattern: string, handler: HttpHandler): void;
|
|
propfind(urlpattern: string, handler: HttpHandler): void;
|
|
proppatch(urlpattern: string, handler: HttpHandler): void;
|
|
unlock(urlpattern: string, handler: HttpHandler): void;
|
|
report(urlpattern: string, handler: HttpHandler): void;
|
|
mkactivity(urlpattern: string, handler: HttpHandler): void;
|
|
checkout(urlpattern: string, handler: HttpHandler): void;
|
|
merge(urlpattern: string, handler: HttpHandler): void;
|
|
"m-search"(urlpattern: string, handler: HttpHandler): void;
|
|
notify(urlpattern: string, handler: HttpHandler): void;
|
|
subscribe(urlpattern: string, handler: HttpHandler): void;
|
|
unsubscribe(urlpattern: string, handler: HttpHandler): void;
|
|
patch(urlpattern: string, handler: HttpHandler): void;
|
|
search(urlpattern: string, handler: HttpHandler): void;
|
|
|
|
all(urlpattern: string, handler: HttpHandler): void;
|
|
redirect(urlpattern: string, to: string): void;
|
|
}
|
|
|
|
interface Options {
|
|
paramsName?: string;
|
|
pageNotFound?: (req: ServerRequest, res: ServerResponse) => void;
|
|
errorHandler?: (err: Error, req: ServerRequest, res: ServerResponse) => void;
|
|
}
|
|
|
|
function _UrlRouterfunc(handler: (app: App) => void, options?: any): void;
|
|
|
|
interface HttpHandler {
|
|
(req: ServerRequest, res: ServerResponse, next?: () => void): void;
|
|
}
|
|
}
|
|
|
|
export = UrlRouterInternal;
|