@kiyasov/platform-hono 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import { ApolloServer, BaseContext } from '@apollo/server';
2
- import { AbstractGraphQLDriver } from '@nestjs/graphql';
3
- import { ApolloDriverConfig } from '@nestjs/apollo';
1
+ import { ApolloServer, BaseContext } from "@apollo/server";
2
+ import { AbstractGraphQLDriver } from "@nestjs/graphql";
3
+ import { ApolloDriverConfig } from "@nestjs/apollo";
4
4
  export declare class HonoGraphQLDriver<T extends Record<string, any> = ApolloDriverConfig> extends AbstractGraphQLDriver {
5
5
  protected apolloServer: ApolloServer<BaseContext>;
6
6
  get instance(): ApolloServer<BaseContext>;
@@ -1,7 +1,7 @@
1
- import { ApolloServer, HeaderMap } from '@apollo/server';
2
- import { AbstractGraphQLDriver } from '@nestjs/graphql';
3
- import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer';
4
- import { Logger } from '@nestjs/common';
1
+ import { ApolloServer, HeaderMap } from "@apollo/server";
2
+ import { AbstractGraphQLDriver } from "@nestjs/graphql";
3
+ import { ApolloServerPluginDrainHttpServer } from "@apollo/server/plugin/drainHttpServer";
4
+ import { Logger } from "@nestjs/common";
5
5
  export class HonoGraphQLDriver extends AbstractGraphQLDriver {
6
6
  get instance() {
7
7
  return this.apolloServer;
@@ -9,8 +9,8 @@ export class HonoGraphQLDriver extends AbstractGraphQLDriver {
9
9
  async start(options) {
10
10
  const { httpAdapter } = this.httpAdapterHost;
11
11
  const platformName = httpAdapter.getType();
12
- if (platformName !== 'hono') {
13
- throw new Error('This driver is only compatible with the Hono platform');
12
+ if (platformName !== "hono") {
13
+ throw new Error("This driver is only compatible with the Hono platform");
14
14
  }
15
15
  return this.registerHono(options);
16
16
  }
@@ -32,6 +32,8 @@ export class HonoGraphQLDriver extends AbstractGraphQLDriver {
32
32
  await server.start();
33
33
  app.use(path, async (ctx) => {
34
34
  const bodyData = await this.parseBody(ctx.req);
35
+ const defaultContext = () => Promise.resolve({});
36
+ const contextFunction = options?.context ?? defaultContext;
35
37
  const httpGraphQLResponse = await server.executeHTTPGraphQLRequest({
36
38
  httpGraphQLRequest: {
37
39
  body: bodyData,
@@ -39,14 +41,14 @@ export class HonoGraphQLDriver extends AbstractGraphQLDriver {
39
41
  headers: this.httpHeadersToMap(ctx.req.raw.headers),
40
42
  search: new URL(ctx.req.url).search,
41
43
  },
42
- context: options?.context ?? (() => Promise.resolve({})),
44
+ context: () => contextFunction(ctx.req, ctx),
43
45
  });
44
46
  const { headers, body, status } = httpGraphQLResponse;
45
47
  for (const [headerKey, headerValue] of headers) {
46
48
  ctx.header(headerKey, headerValue);
47
49
  }
48
50
  ctx.status(status === undefined ? 200 : status);
49
- if (body.kind === 'complete') {
51
+ if (body.kind === "complete") {
50
52
  return ctx.body(body.string);
51
53
  }
52
54
  const readableStream = new ReadableStream({
@@ -58,7 +60,7 @@ export class HonoGraphQLDriver extends AbstractGraphQLDriver {
58
60
  },
59
61
  });
60
62
  return new Response(readableStream, {
61
- headers: { 'Content-Type': 'application/octet-stream' },
63
+ headers: { "Content-Type": "application/octet-stream" },
62
64
  });
63
65
  });
64
66
  this.apolloServer = server;
@@ -72,12 +74,12 @@ export class HonoGraphQLDriver extends AbstractGraphQLDriver {
72
74
  return map;
73
75
  }
74
76
  async parseBody(req) {
75
- const contentType = req.header('content-type');
76
- if (contentType === 'application/graphql')
77
+ const contentType = req.header("content-type");
78
+ if (contentType === "application/graphql")
77
79
  return { query: await req.text() };
78
- if (contentType === 'application/json')
80
+ if (contentType === "application/json")
79
81
  return req.json().catch(this.logError);
80
- if (contentType === 'application/x-www-form-urlencoded')
82
+ if (contentType === "application/x-www-form-urlencoded")
81
83
  return this.parseFormURL(req);
82
84
  return {};
83
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.driver.js","sourceRoot":"","sources":["../../../../src/drivers/graphql.driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.driver.js","sourceRoot":"","sources":["../../../../src/drivers/graphql.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAI1F,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,iBAEX,SAAQ,qBAAqB;IAG7B,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAU;QACpB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAE3C,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,OAAU,EACV,EAAE,YAAY,KAAoC,EAAE;QAEpD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACtD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,qBAAqB,GAAG,iCAAiC,CAAC;YAC9D,UAAU,EAAE,WAAW,CAAC,aAAa,EAAE;SACxC,CAAC,CAAC;QAEH,YAAY,EAAE,EAAE,CAAC;QAEjB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;YAC9B,QAAQ;YACR,SAAS;YACT,MAAM;YACN,GAAG,OAAO;YACV,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE/C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAiB,CAAC,CAAC;YAEhE,MAAM,eAAe,GAAG,OAAO,EAAE,OAAO,IAAI,cAAc,CAAC;YAE3D,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC;gBACjE,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;oBACtB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;oBACnD,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM;iBACpC;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;aAC7C,CAAC,CAAC;YAEH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;YAEtD,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC/C,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACrC,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,MAAqB,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;gBACxC,KAAK,CAAC,KAAK,CAAC,UAAU;oBACpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC7C,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtD,CAAC;oBACD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE;gBAClC,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;aACxD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAEO,gBAAgB,CAAC,OAAgB;QACvC,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAgB;QACtC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,WAAW,KAAK,qBAAqB;YACvC,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,WAAW,KAAK,kBAAkB;YACpC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,WAAW,KAAK,mCAAmC;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,QAAQ,CAAC,CAAU;QACzB,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAgB;QACzC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF"}