當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript restify.Server類代碼示例

本文整理匯總了TypeScript中restify.Server的典型用法代碼示例。如果您正苦於以下問題:TypeScript Server類的具體用法?TypeScript Server怎麽用?TypeScript Server使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Server類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: constructor

	constructor(server: Server) {
		server.get('/', serveStatic({
			directory: resolve('./public'),
			file: 'index.html'
		}));

		server.get(/\/__client__\/?.*/, serveStatic({
			directory: resolve('./')
		}));
	}
開發者ID:Ibanheiz,項目名稱:tdc-rxjs-demo,代碼行數:10,代碼來源:Http.ts

示例2: registerHandledRouteTimingMetrics

export function registerHandledRouteTimingMetrics(server: Server, statsDOptions: StatsDOptions) {
    let statsD: StatsD = new StatsD(statsDOptions);
    let metricsKeyBuilder: MetricsKeyBuilder = new MetricsKeyBuilder();
    let logger = new MetricsLogFactory(statsD, metricsKeyBuilder).createLogger();

    server.on('after', (request: Request, response: Response, route: Route, error) => {
        logger(request, response, route);
    });
}
開發者ID:daptiv,項目名稱:api-metrics-client,代碼行數:9,代碼來源:metrics-logger.ts

示例3: registerHandledRouteTimingMetrics

export function registerHandledRouteTimingMetrics(server: Server, statsLogger: DaptivStatsLogger) {
  // A logger and apiStatKeyBuilder should NOT be created here, they should be provided by the caller.
    let apiStatKeyBuilder = new ApiStatKeyBuilder();
    let apiMetricsLogger = new ApiStatsLoggerFactory(statsLogger, apiStatKeyBuilder).createLogger();

    server.on('after', (request: Request, response: Response, route: Route, error) => {
        apiMetricsLogger(request, response, route);
    });
}
開發者ID:daptiv,項目名稱:node-daptiv-api-stats-logger,代碼行數:9,代碼來源:api-stats-logger-factory.ts

示例4: require

import logger from "./logging.config";

import * as restify from "restify";
import {Server} from "restify";

import {registerActionsInExpressApp} from "controllers.ts/Factory";
import {ControllerRunner} from "controllers.ts/ControllerRunner";

let config = require("../../package.json");
let port = process.env.PORT || 3000;
let host = process.env.HOST || "localhost";

logger.info("Setting up restify...");

const server: Server = restify.createServer({
    name: config.name,
    version: config.version
});

server.pre(restify.pre.sanitizePath());

const controllerRunner: ControllerRunner = registerActionsInExpressApp(server, [__dirname + "/../api"]);
controllerRunner.container = {
    get: function (someClass: any): any {
        logger.info("Setting up restify...");
        return kernel.get(someClass.name);
    }
};


server.listen(port, host, () => logger.info(`${server.name}@${config.version} listening at ${host}:${port}`));
開發者ID:barryajones,項目名稱:nodejs-rest-mongo-typescript-seed,代碼行數:31,代碼來源:restify.config.ts

示例5: initialize

 public initialize(server: Server): void {
     server.get('/products', this.listProducts.bind(this));
     server.post('/products', this.addProduct.bind(this));
 }
開發者ID:thinktecture,項目名稱:windows-developer-nodejs-typescript,代碼行數:4,代碼來源:productController.ts

示例6: test

function test(server: Server) {
  server.get('/api/test', (req: Request, res: Response) => {
    res.setCookie('myCookie', 'test' + req.cookies.foo, { path: '/' });
  });
}
開發者ID:AbraaoAlves,項目名稱:DefinitelyTyped,代碼行數:5,代碼來源:restify-cookies-tests.ts

示例7: resolve

 return new Promise<number>((resolve, reject) => {
   let nextPort    = 0;
   let tryCount    = 0;
   let maxTry      = 10;
   let currentPort = this.port;
   this.server.on('listening', () => {
     resolve(currentPort);
     return;
   });
   this.server.on(
     'error', (e: {code: string}) => {
       switch (e.code) {
         case 'EADDRINUSE':
           tryCount++;
           nextPort = this.port + tryCount;
           this.server.close();
           if (tryCount >= maxTry) {
             reject(e);
             return;
           }
           console.log(`Port in use, retrying on port ${nextPort}...`);
           currentPort = nextPort;
           if (this.hostname) {
             this.server.listen(currentPort, this.hostname);
           } else {
             this.server.listen(currentPort);
           }
           return;
         default:
           reject(e);
           return;
       }
     }
   );
   if (this.hostname) {
     this.server.listen(this.port, this.hostname);
   } else {
     this.server.listen(this.port);
   }
 });
開發者ID:SonicRainBoom,項目名稱:lib_router,代碼行數:40,代碼來源:router.ts

示例8: Error

  addRoute(
    method: string,
    route: string,
    endpoint: RequestHandler
  ): void {
    method = method.toUpperCase();
    switch (method) {
      case 'DELETE':
      case 'DEL':
        this.server.del(route, endpoint);
        break;

      case 'HEAD':
        this.server.head(route, endpoint);
        break;

      case 'PUT':
        this.server.put(route, endpoint);
        break;

      case 'POST':
        this.server.post(route, endpoint);
        break;

      case 'OPTIONS':
        this.server.opts(route, endpoint);
        break;

      case 'GET':
        this.server.get(route, endpoint);
        break;
      default:
        throw new Error(`HTTP-Method ${method} is not implemented!`);
    }
  };
開發者ID:SonicRainBoom,項目名稱:lib_router,代碼行數:35,代碼來源:router.ts

示例9: switch

 'error', (e: {code: string}) => {
   switch (e.code) {
     case 'EADDRINUSE':
       tryCount++;
       nextPort = this.port + tryCount;
       this.server.close();
       if (tryCount >= maxTry) {
         reject(e);
         return;
       }
       console.log(`Port in use, retrying on port ${nextPort}...`);
       currentPort = nextPort;
       if (this.hostname) {
         this.server.listen(currentPort, this.hostname);
       } else {
         this.server.listen(currentPort);
       }
       return;
     default:
       reject(e);
       return;
   }
 }
開發者ID:SonicRainBoom,項目名稱:lib_router,代碼行數:23,代碼來源:router.ts

示例10: enableCORSFix

  /**
   * a crude CORS based on `Qwerios`' comment in
   * https://github.com/mcavage/node-restify/issues/664
   *
   * See issues:
   * https://github.com/mcavage/node-restify/issues/284 (closed)
   * https://github.com/mcavage/node-restify/issues/664 (unresolved)
   *
   * @param additionalHeaders string[]
   * @return void
   */
  enableCORSFix(additionalHeaders: string[] = []): void {
    /*************************************
     Cors
     **************************************/
    this.server.use(restify.CORS());
    let headers = [
      "authorization",
      "withcredentials",
      "x-requested-with",
      "x-forwarded-for",
      "x-real-ip",
      "user-agent",
      "keep-alive",
      "host",
      "accept",
      "connection",
      "upgrade",
      "content-type",
      "dnt",
      "if-modified-since",
      "cache-control"
    ];

    restify.CORS.ALLOW_HEADERS = [
      ...restify.CORS.ALLOW_HEADERS || [],
      ...headers,
      ...additionalHeaders || []
    ];

    // Manually implement the method not allowed handler to fix failing
    // preflights
    this.server.on(
      "MethodNotAllowed",
      (request: Request, response: Response) => {
        if (request.method.toUpperCase() !== "OPTIONS") {
          response.send(new restify.MethodNotAllowedError());
          return;
        } else {
          // Send the CORS headers
          //
          response.header("Access-Control-Allow-Credentials", true);
          response.header(
            "Access-Control-Allow-Headers",
            restify.CORS.ALLOW_HEADERS.join(", ")
          );
          response.header(
            "Access-Control-Allow-Methods",
            "GET, HEAD, POST, PUT, DELETE, OPTIONS"
          );
          response.header(
            "Access-Control-Allow-Origin",
            request.headers.origin
          );
          response.header("Access-Control-Max-Age", 0);
          response.header("Content-type", "text/plain charset=UTF-8");
          response.header("Content-length", 0);

          response.send(204);
        }
      }
    );
  }
開發者ID:SonicRainBoom,項目名稱:lib_router,代碼行數:73,代碼來源:router.ts


注:本文中的restify.Server類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。