当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript fastify.FastifyReply类代码示例

本文整理汇总了TypeScript中fastify.FastifyReply的典型用法代码示例。如果您正苦于以下问题:TypeScript FastifyReply类的具体用法?TypeScript FastifyReply怎么用?TypeScript FastifyReply使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了FastifyReply类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: renderPlaygroundPage

            (
              req: FastifyRequest<IncomingMessage>,
              reply: FastifyReply<OutgoingMessage>,
              done: () => void,
            ) => {
              // Note: if you enable playground in production and expect to be able to see your
              // schema, you'll need to manually specify `introspection: true` in the
              // ApolloServer constructor; by default, the introspection query is only
              // enabled in dev.
              if (this.playgroundOptions && req.req.method === 'GET') {
                // perform more expensive content-type check only if necessary
                const accept = (req as any).accepts() as Accepts;
                const types = accept.types() as string[];
                const prefersHTML =
                  types.find(
                    (x: string) =>
                      x === 'text/html' || x === 'application/json',
                  ) === 'text/html';

                if (prefersHTML) {
                  const playgroundRenderPageOptions: PlaygroundRenderPageOptions = {
                    endpoint: this.graphqlPath,
                    subscriptionEndpoint: this.subscriptionsPath,
                    ...this.playgroundOptions,
                  };
                  reply.type('text/html');
                  const playground = renderPlaygroundPage(
                    playgroundRenderPageOptions,
                  );
                  reply.send(playground);
                  return;
                }
              }
              done();
            },
开发者ID:apollostack,项目名称:apollo-server,代码行数:35,代码来源:ApolloServer.ts

示例2: async

  return async (
    request: FastifyRequest<IncomingMessage>,
    reply: FastifyReply<OutgoingMessage>,
  ) => {
    try {
      const { graphqlResponse, responseInit } = await runHttpQuery(
        [request, reply],
        {
          method: request.req.method as string,
          options,
          query: request.req.method === 'POST' ? request.body : request.query,
          request: convertNodeHttpToRequest(request.raw),
        },
      );

      if (responseInit.headers) {
        for (const [name, value] of Object.entries<string>(
          responseInit.headers,
        )) {
          reply.header(name, value);
        }
      }
      reply.serializer((payload: string) => payload);
      reply.send(graphqlResponse);
    } catch (error) {
      if ('HttpQueryError' !== error.name) {
        throw error;
      }

      if (error.headers) {
        Object.keys(error.headers).forEach(header => {
          reply.header(header, error.headers[header]);
        });
      }

      reply.code(error.statusCode);
      reply.serializer((payload: string) => payload);
      reply.send(error.message);
    }
  };
开发者ID:apollostack,项目名称:apollo-server,代码行数:40,代码来源:fastifyApollo.ts

示例3: formatApolloErrors

      .catch(error => {
        if (error.status && error.expose) reply.status(error.status);

        throw formatApolloErrors([error], {
          formatter: server.requestOptions.formatError,
          debug: server.requestOptions.debug,
        });
      });
开发者ID:apollostack,项目名称:apollo-server,代码行数:8,代码来源:ApolloServer.ts

示例4:

 Object.keys(error.headers).forEach(header => {
   reply.header(header, error.headers[header]);
 });
开发者ID:apollostack,项目名称:apollo-server,代码行数:3,代码来源:fastifyApollo.ts


注:本文中的fastify.FastifyReply类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。