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


TypeScript Server.on方法代碼示例

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


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

示例1: 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

示例2: 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

示例3: 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

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