mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
159 lines
4.5 KiB
TypeScript
159 lines
4.5 KiB
TypeScript
import * as restify from "restify";
|
|
import * as url from "url";
|
|
import * as Logger from "bunyan";
|
|
|
|
let server = new restify.Server();
|
|
|
|
server = restify.createServer({
|
|
formatters: {
|
|
'application/foo': function formatFoo(req: restify.Request, res: restify.Response, body: any) {
|
|
if (body instanceof Error)
|
|
return body.stack;
|
|
|
|
if (body)
|
|
return body.toString('base64');
|
|
|
|
return body;
|
|
}
|
|
}
|
|
});
|
|
|
|
server = restify.createServer({});
|
|
|
|
server.pre(restify.pre.sanitizePath());
|
|
|
|
server.on('someEvent', () => { });
|
|
|
|
server.use((req: restify.Request, res: restify.Response, next: restify.Next) => { });
|
|
server.use([(req: restify.Request, res: restify.Response, next: restify.Next) => { }, (req: restify.Request, res: restify.Response, next: restify.Next) => { }]);
|
|
server.use((req: restify.Request, res: restify.Response, next: restify.Next) => { }, (req: restify.Request, res: restify.Response, next: restify.Next) => { });
|
|
|
|
function send(req: restify.Request, res: restify.Response, next: restify.Next) {
|
|
req.header('key', 'val');
|
|
req.header('key') === 'val';
|
|
req.trailer('key', 'val');
|
|
req.trailer('key') === 'val';
|
|
|
|
req.accepts('test') === true;
|
|
req.accepts(['test']) === true;
|
|
req.acceptsEncoding('test') === true;
|
|
req.acceptsEncoding(['test']) === true;
|
|
req.is('test') === true;
|
|
req.isChunked() === true;
|
|
req.isKeepAlive() === true;
|
|
req.isSecure() === true;
|
|
req.isUpgradeRequest() === true;
|
|
req.isUpload() === true;
|
|
req.userAgent() === 'test';
|
|
req.startHandlerTimer('test');
|
|
req.endHandlerTimer('test');
|
|
|
|
const log = req.log;
|
|
log.debug({ params: req.params }, 'Hello there %s', 'foo');
|
|
|
|
req.getContentLength() === 50;
|
|
req.contentLength() === 50;
|
|
req.getContentType() === 'test';
|
|
req.contentType() === 'test';
|
|
req.getHref() === 'test';
|
|
req.href() === 'test';
|
|
req.getId() === 'test';
|
|
req.id() === 'test';
|
|
req.getPath() === 'test';
|
|
req.path() === 'test';
|
|
req.getQuery() === 'test';
|
|
req.query === 'test';
|
|
req.time() === 1463518410080;
|
|
req.getUrl() === url.parse('https://test.test.test/test');
|
|
req.getVersion() === 'test';
|
|
req.version() === 'test';
|
|
req.params;
|
|
res.header('test');
|
|
res.header('test', {});
|
|
res.header('test', new Date());
|
|
|
|
res.cache();
|
|
res.cache('testst', { maxAge: 60 });
|
|
res.cache({ maxAge: 60 });
|
|
|
|
res.status(344);
|
|
|
|
res.send({ hello: 'world' });
|
|
res.send(201, { hello: 'world' });
|
|
res.send(new Error('meh'));
|
|
|
|
res.json(201, { hello: 'world' });
|
|
res.json({ hello: 'world' });
|
|
|
|
res.code === 50;
|
|
res.contentLength === 50;
|
|
res.charSet('test');
|
|
res.contentType === 'test';
|
|
res.headers;
|
|
res.id === 'test';
|
|
|
|
res.send('hello ' + req.params.name);
|
|
res.writeHead();
|
|
return next();
|
|
}
|
|
|
|
server.post('/hello', send);
|
|
server.put('/hello', send);
|
|
server.del('/hello', send);
|
|
server.get('/hello', send);
|
|
server.head('/hello', send);
|
|
server.opts('/hello', send);
|
|
|
|
server.post(/(.*)/, send);
|
|
server.put(/(.*)/, send);
|
|
server.del(/(.*)/, send);
|
|
server.get(/(.*)/, send);
|
|
server.head(/(.*)/, send);
|
|
server.opts(/(.*)/, send);
|
|
|
|
server.name = "";
|
|
server.versions = [""];
|
|
server.acceptable = ["test"];
|
|
server.url = "";
|
|
|
|
server.address().port;
|
|
server.address().family;
|
|
server.address().address;
|
|
|
|
server.listen("somePath", send);
|
|
server.close();
|
|
|
|
server.use(restify.plugins.acceptParser(server.acceptable));
|
|
server.use(restify.plugins.authorizationParser());
|
|
server.use(restify.plugins.dateParser());
|
|
server.use(restify.plugins.queryParser());
|
|
server.use(restify.plugins.jsonp());
|
|
server.use(restify.plugins.gzipResponse());
|
|
server.use(restify.plugins.bodyParser());
|
|
server.use(restify.plugins.throttle({
|
|
burst: 100,
|
|
rate: 50,
|
|
ip: true,
|
|
overrides: {
|
|
'192.168.1.1': {
|
|
rate: 0,
|
|
burst: 0
|
|
}
|
|
}
|
|
}));
|
|
|
|
server.on('after', restify.plugins.auditLogger({ event: 'after', log: {} as Logger }));
|
|
|
|
server.on('after', (req: restify.Request, res: restify.Response, route: restify.Route, err: any) => {
|
|
route.spec.method === 'GET';
|
|
route.spec.name === 'routeName';
|
|
route.spec.path === '/some/path';
|
|
route.spec.path === /\/some\/path\/.*/;
|
|
route.spec.versions === ['v1'];
|
|
restify.plugins.auditLogger({ event: 'after', log: {} as Logger })(req, res, route, err);
|
|
});
|
|
|
|
(<any> restify).defaultResponseHeaders = function(this: restify.Request, data: any) {
|
|
this.header('Server', 'helloworld');
|
|
};
|