@typespec/http-server-js 0.58.0-alpha.13-dev.3 → 0.58.0-alpha.13-dev.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.
package/.testignore CHANGED
@@ -1,8 +1,5 @@
1
- encode/bytes
2
1
  encode/datetime
3
2
  encode/duration
4
- payload/content-negotiation
5
- payload/media-type
6
3
  payload/multipart
7
4
  payload/xml
8
5
  response/status-code-range
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http/server/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,MAAM,EAA6C,MAAM,cAAc,CAAC;AAMjF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAc1C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CA0BhF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http/server/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,MAAM,EAA6C,MAAM,cAAc,CAAC;AAMjF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAe1C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CA0BhF"}
@@ -19,6 +19,7 @@ import { module as headerHelpers } from "../../../generated-defs/helpers/header.
19
19
  import { module as httpHelpers } from "../../../generated-defs/helpers/http.js";
20
20
  import { getJsScalar } from "../../common/scalar.js";
21
21
  import { requiresJsonSerialization } from "../../common/serialization/json.js";
22
+ import { getFullyQualifiedTypeName } from "../../util/name.js";
22
23
  const DEFAULT_CONTENT_TYPE = "application/json";
23
24
  /**
24
25
  * Emits raw operations for handling incoming server requests.
@@ -201,7 +202,7 @@ function* emitRawServerOperation(ctx, operation, module, responderNames) {
201
202
  yield "";
202
203
  break;
203
204
  }
204
- case "multipart/form-data":
205
+ case "multipart/form-data": {
205
206
  if (body.bodyKind === "multipart") {
206
207
  yield* indent(emitMultipart(ctx, module, operation, body, names.ctx, bodyName, bodyTypeName));
207
208
  }
@@ -209,7 +210,80 @@ function* emitRawServerOperation(ctx, operation, module, responderNames) {
209
210
  yield* indent(emitMultipartLegacy(names.ctx, bodyName, bodyTypeName));
210
211
  }
211
212
  break;
213
+ }
214
+ case "text/plain": {
215
+ const string = ctx.program.checker.getStdType("string");
216
+ const [assignable] = ctx.program.checker.isTypeAssignableTo(body.type, string, body.property ?? body.type);
217
+ if (!assignable) {
218
+ const name = ("namespace" in body.type &&
219
+ body.type.namespace &&
220
+ getFullyQualifiedTypeName(body.type)) ||
221
+ ("name" in body.type && typeof body.type.name === "string" && body.type.name) ||
222
+ "<unknown>";
223
+ reportDiagnostic(ctx.program, {
224
+ code: "unrecognized-media-type",
225
+ target: body.property ?? body.type,
226
+ format: {
227
+ mediaType: contentType,
228
+ type: name,
229
+ },
230
+ });
231
+ }
232
+ yield ` const ${bodyName} = await new Promise(function parse${bodyNameCase.pascalCase}(resolve, reject) {`;
233
+ yield ` const chunks: Array<Buffer> = [];`;
234
+ yield ` ${names.ctx}.request.on("data", function appendChunk(chunk) { chunks.push(chunk); });`;
235
+ yield ` ${names.ctx}.request.on("end", function finalize() {`;
236
+ yield ` try {`;
237
+ yield ` const body = Buffer.concat(chunks).toString();`;
238
+ yield ` resolve(body);`;
239
+ yield ` } catch (e) {`;
240
+ yield ` ${names.ctx}.errorHandlers.onInvalidRequest(`;
241
+ yield ` ${names.ctx},`;
242
+ yield ` ${JSON.stringify(operation.path)},`;
243
+ yield ` "invalid text in request body",`;
244
+ yield ` );`;
245
+ yield ` reject(e);`;
246
+ yield ` }`;
247
+ yield ` });`;
248
+ yield ` ${names.ctx}.request.on("error", reject);`;
249
+ yield ` }) as string;`;
250
+ yield "";
251
+ break;
252
+ }
253
+ case "application/octet-stream":
212
254
  default:
255
+ {
256
+ if (!ctx.program.checker.isStdType(body.type, "bytes")) {
257
+ const name = ("namespace" in body.type &&
258
+ body.type.namespace &&
259
+ getFullyQualifiedTypeName(body.type)) ||
260
+ ("name" in body.type && typeof body.type.name === "string" && body.type.name) ||
261
+ "<unknown>";
262
+ reportDiagnostic(ctx.program, {
263
+ code: "unrecognized-media-type",
264
+ target: body.property ?? body.type,
265
+ format: {
266
+ mediaType: contentType,
267
+ type: name,
268
+ },
269
+ });
270
+ }
271
+ yield ` const ${bodyName} = await new Promise(function parse${bodyNameCase.pascalCase}(resolve, reject) {`;
272
+ yield ` const chunks: Array<Buffer> = [];`;
273
+ yield ` ${names.ctx}.request.on("data", function appendChunk(chunk) { chunks.push(chunk); });`;
274
+ yield ` ${names.ctx}.request.on("end", function finalize() {`;
275
+ yield ` try {`;
276
+ yield ` const body = Buffer.concat(chunks);`;
277
+ yield ` resolve(body);`;
278
+ yield ` } catch (e) {`;
279
+ yield ` reject(e);`;
280
+ yield ` }`;
281
+ yield ` });`;
282
+ yield ` ${names.ctx}.request.on("error", reject);`;
283
+ yield ` }) as Buffer;`;
284
+ yield "";
285
+ break;
286
+ }
213
287
  throw new UnimplementedError(`request deserialization for content-type: '${contentType}'`);
214
288
  }
215
289
  yield "";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/http/server/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAEL,QAAQ,EAER,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,kBAAkB,EAClB,MAAM,EACN,QAAQ,EACR,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAU,2BAA2B,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,gBAAwB;IACtE,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAErE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,MAAM,EAAE,CAAC,aAAa,CAAC;QACvB,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE3D,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,MAAM,EAAE,CAAC,sBAAsB,eAAe,EAAE,EAAE,qBAAqB,gBAAgB,EAAE,CAAC;QAC1F,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACnD,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;YAChC,GAAG,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE;gBACzD,eAAe;gBACf,gBAAgB;aACjB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,QAAQ,CAAC,CAAC,sBAAsB,CAC9B,GAAgB,EAChB,SAAwB,EACxB,MAAc,EACd,cAAmE;IAEnE,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAU,CAAC;IAChD,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAClB,MAAM,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACtC,IAAI,EAAE,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,SAAU,CAAC;KAC/D,CAAC,CAAC;IAEH,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,eAAe,CAAC,KAAK;QAC1F,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;IAC/B,CAAC,CAAwD,CAAC;IAE1D,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,SAAS,GAAG,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAElG,MAAM,KAAK,GAAU;QACnB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;QACpC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QACtC,GAAG,cAAc;KAClB,CAAC;IAEF,MAAM,yBAAyB,YAAY,GAAG,CAAC;IAC/C,MAAM,KAAK,KAAK,CAAC,GAAG,gBAAgB,CAAC;IACrC,MAAM,KAAK,KAAK,CAAC,UAAU,KAAK,iBAAiB,CAAC,UAAU,GAAG,CAAC;IAEhE,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,MAAM,KAAK,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,WAAW,CAAC;IAClE,CAAC;IAED,MAAM,oBAAoB,CAAC;IAE3B,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5E,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAC/B,CAAC;IAEF,MAAM,WAAW,GAAyD,EAAE,CAAC;IAE7E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEtE,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACxD,MAAM,iBAAiB,GACrB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QACzF,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,KAAK,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;YACpD,KAAK,OAAO;gBACV,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,MAAM;gBACT,yBAAyB;gBACzB,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBAC/C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,+BACG,SAAoD,CAAC,IACxD,EAAE,CACH,CAAC;QACN,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,KAAK,CAAC,WAAW,0BAA0B,KAAK,CAAC,GAAG,wCAAwC,CAAC;QAC9G,MAAM,EAAE,CAAC;IACX,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;QAC1E,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAU,CAAC;QACxF,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,IAAI,QAAQ,GAAuB,SAAS,CAAC;IAE7C,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAEvC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC5B,IAAI,EAAE,8BAA8B;gBACpC,MAAM,EAAE,SAAS,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC;QAEjE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,UAAU,GAAG,aAAa,CAAC;QAEzE,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,mBAAmB,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAG,iBAAiB,CACpC,GAAG,EACH,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,EAC/C,MAAM,EACN,EAAE,OAAO,EAAE,mBAAmB,EAAE,CACjC,CAAC;QAEF,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAErF,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEpD,MAAM,WAAW,iBAAiB,iCAAiC,KAAK,CAAC,GAAG,0DAA0D,CAAC;QAEvI,MAAM,SAAS,iBAAiB,eAAe,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;QAEhF,MAAM,cAAc,KAAK,CAAC,GAAG,kCAAkC,CAAC;QAChE,MAAM,SAAS,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5B,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QACjD,MAAM,0CAA0C,iBAAiB,wBAAwB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;QAC1H,MAAM,QAAQ,CAAC;QAEf,MAAM,KAAK,CAAC;QACZ,MAAM,EAAE,CAAC;QAET,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,8BAA8B,CAAC;YACpC,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAwB,EAAE,kBAAkB,CAAC,CAAC;gBAC7E,MAAM,WAAW,QAAQ,sCAAsC,YAAY,CAAC,UAAU,qBAAqB,CAAC;gBAC5G,MAAM,uCAAuC,CAAC;gBAC9C,MAAM,OAAO,KAAK,CAAC,GAAG,2EAA2E,CAAC;gBAClG,MAAM,OAAO,KAAK,CAAC,GAAG,0CAA0C,CAAC;gBACjE,MAAM,aAAa,CAAC;gBACpB,MAAM,wDAAwD,CAAC;gBAE/D,IAAI,KAAa,CAAC;gBAElB,IAAI,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3E,MAAM,aAAa,GAAG,iBAAiB,CACrC,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EACvB,IAAI,CAAC,IAAI,EACT,MAAM,EACN,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7B,CAAC;wBACF,MAAM,+CAA+C,CAAC;wBACtD,MAAM,4CAA4C,CAAC;wBACnD,MAAM,aAAa,KAAK,CAAC,GAAG,kCAAkC,CAAC;wBAC/D,MAAM,eAAe,KAAK,CAAC,GAAG,GAAG,CAAC;wBAClC,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;wBACvD,MAAM,oDAAoD,CAAC;wBAC3D,MAAM,cAAc,CAAC;wBACrB,MAAM,4BAA4B,CAAC;wBACnC,MAAM,WAAW,CAAC;wBAClB,KAAK,GAAG,6BAA6B,aAAa,oCAAoC,CAAC;oBACzF,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnF,MAAM,aAAa,GAAG,iBAAiB,CACrC,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EACvB,IAAI,CAAC,IAAI,EACT,MAAM,EACN,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7B,CAAC;wBAEF,MAAM,gDAAgD,CAAC;wBACvD,MAAM,0EAA0E,CAAC;wBACjF,MAAM,aAAa,KAAK,CAAC,GAAG,kCAAkC,CAAC;wBAC/D,MAAM,eAAe,KAAK,CAAC,GAAG,GAAG,CAAC;wBAClC,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;wBACvD,MAAM,qDAAqD,CAAC;wBAC5D,MAAM,cAAc,CAAC;wBACrB,MAAM,4BAA4B,CAAC;wBACnC,MAAM,WAAW,CAAC;wBAClB,KAAK,GAAG,+EAA+E,aAAa,2BAA2B,CAAC;oBAClI,CAAC;yBAAM,CAAC;wBACN,KAAK,GAAG,GAAG,YAAY,mCAAmC,CAAC;oBAC7D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,kBAAkB,CAAC;gBAC7B,CAAC;gBAED,MAAM,mBAAmB,KAAK,IAAI,CAAC;gBACnC,MAAM,iBAAiB,CAAC;gBACxB,MAAM,WAAW,KAAK,CAAC,GAAG,kCAAkC,CAAC;gBAC7D,MAAM,aAAa,KAAK,CAAC,GAAG,GAAG,CAAC;gBAChC,MAAM,aAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrD,MAAM,2CAA2C,CAAC;gBAClD,MAAM,YAAY,CAAC;gBACnB,MAAM,mBAAmB,CAAC;gBAC1B,MAAM,SAAS,CAAC;gBAChB,MAAM,SAAS,CAAC;gBAChB,MAAM,OAAO,KAAK,CAAC,GAAG,+BAA+B,CAAC;gBACtD,MAAM,WAAW,YAAY,GAAG,CAAC;gBACjC,MAAM,EAAE,CAAC;gBAET,MAAM;YACR,CAAC;YACD,KAAK,qBAAqB;gBACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAClC,KAAK,CAAC,CAAC,MAAM,CACX,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAC/E,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM;YACR;gBACE,MAAM,IAAI,kBAAkB,CAAC,8CAA8C,WAAW,GAAG,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,EAAE,CAAC;IACX,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,mBAAmB,CAAC;QACxB,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC;QAC5F,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC;QAClE,IAAI,WAAW,EAAE,CAAC;YAChB,mBAAmB,GAAG,GAAG,QAAQ,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QACjE,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,mBAAmB,GAAG,QAAS,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEnF,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAE/D,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAErF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEvD,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,mBAAmB,GAAG,aAAa,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,UAAU,GAAG,IAAI,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnE,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CACb,KAAK,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACrH,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE;QACzE,OAAO,EAAE,iBAAiB,CAAC,UAAU,GAAG,QAAQ;KACjD,CAAC,CAAC;IAEH,MAAM,SAAS,KAAK,CAAC,MAAM,KAAK,UAAU,GAAG,CAAC;IAC9C,MAAM,EAAE,CAAC;IACT,MAAM,SAAS,CAAC;IAChB,MAAM,OAAO,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;IACtG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,CAAC;IACf,MAAM,gBAAgB,CAAC;IACvB,MAAM,WAAW,KAAK,CAAC,eAAe,QAAQ,CAAC;IAC/C,MAAM,kBAAkB,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC;IACjE,MAAM,qBAAqB,CAAC;IAC5B,MAAM,KAAK,CAAC;IACZ,MAAM,EAAE,CAAC;IAET,KAAK,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvE,MAAM,GAAG,CAAC;IAEV,MAAM,EAAE,CAAC;AACX,CAAC;AAWD;;;;;;;;GAQG;AACH,QAAQ,CAAC,CAAC,oBAAoB,CAC5B,GAAgB,EAChB,KAAY,EACZ,CAAO,EACP,MAAc;IAEd,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,qBAAqB;QACrB,KAAK,CAAC,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpD,KAAK,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE;YAClC,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,sBAAsB,CAAC,CAAC;gBACtB,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YAC1D,CAAC;YACD,kFAAkF;YAClF,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,2BAA2B,CACnC,GAAgB,EAChB,KAAY,EACZ,MAAY,EACZ,MAAc;IAEd,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,MAAM,GAAG,KAAK,CAAC,GAAG,6BAA6B,CAAC;gBAChD,MAAM,GAAG,KAAK,CAAC,GAAG,kBAAkB,CAAC;gBACrC,OAAO;YACT,KAAK,MAAM;gBACT,MAAM,GAAG,KAAK,CAAC,GAAG,6BAA6B,CAAC;gBAChD,MAAM,GAAG,KAAK,CAAC,GAAG,0DAA0D,CAAC;gBAC7E,MAAM,GAAG,KAAK,CAAC,GAAG,wBAAwB,CAAC;gBAC3C,OAAO;YACT,KAAK,SAAS;gBACZ,MAAM,GAAG,KAAK,CAAC,GAAG,6BAA6B,CAAC;gBAChD,MAAM,GAAG,KAAK,CAAC,GAAG,0DAA0D,CAAC;gBAC7E,MAAM,GAAG,KAAK,CAAC,GAAG,gCAAgC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACpE,OAAO;YACT,KAAK,OAAO;gBACV,MAAM,UAAU,KAAK,CAAC,GAAG,kCAAkC,KAAK,CAAC,GAAG,8BAA8B,CAAC;gBACnG,OAAO;YACT;gBACE,MAAM,IAAI,kBAAkB,CAAC,yCAAyC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAAC,oCAAoC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,GAAG,KAAK,CAAC,GAAG,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC;YAC7I,IAAI,CAAC,IAAI;gBAAE,MAAM,WAAW,KAAK,CAAC,MAAM,YAAY,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC;QAC5F,CAAC;aAAM,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/C,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,yBAAyB;wBAC/B,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACpB;qBACF,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,+BAA+B,CAAC,CAAC;gBAEjF,MAAM,GAAG,KAAK,CAAC,GAAG,0BAA0B,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,KAAK,CAAC,GAAG,0BAA0B,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC;gBAClG,IAAI,CAAC,IAAI;oBAAE,MAAM,WAAW,KAAK,CAAC,MAAM,YAAY,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GACxB,CAAC,IAAI;QACL,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IAEL,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,qBAAqB,GAAG,uBAAuB,CACnD,GAAG,EACH,MAAM,EACN,IAAI,CAAC,IAAI,EACT,kBAAkB,CACnB,CAAC;QACF,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAEzD,MAAM,GAAG,KAAK,CAAC,GAAG,0DAA0D,CAAC;QAE7E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YACH,MAAM,GAAG,KAAK,CAAC,GAAG,gCAAgC,aAAa,iBAAiB,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,CAAC;QAC1H,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,KAAK,CAAC,GAAG,gCAAgC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,CAAC;QAC5F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,GAAG,KAAK,CAAC,GAAG,kBAAkB,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,qBAAqB,GAAG,uBAAuB,CACnD,GAAG,EACH,MAAM,EACN,MAAM,EACN,kBAAkB,CACnB,CAAC;YACF,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAEtD,MAAM,GAAG,KAAK,CAAC,GAAG,0DAA0D,CAAC;YAE7E,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;oBACnE,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,MAAM,GAAG,KAAK,CAAC,GAAG,gCAAgC,aAAa,iBAAiB,KAAK,CAAC,MAAM,OAAO,aAAa,MAAM,CAAC;YACzH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,KAAK,CAAC,GAAG,gCAAgC,KAAK,CAAC,MAAM,KAAK,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,sBAAsB,CAC9B,GAAgB,EAChB,SAAwB,EACxB,KAAY,EACZ,SAA8D;IAE9D,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAEhD,sDAAsD;IACtD,+CAA+C;IAC/C,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC;IAEvD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAEjE,MAAM,SAAS,IAAI,MAAM,KAAK,CAAC,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,GAAG,CAAC;IAEjG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,IAAI,mBAAmB,CAAC;QACrC,kBAAkB;QAClB,MAAM,YAAY,KAAK,CAAC,GAAG,mCAAmC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,UAAU,MAAM,CAAC;QAC1J,MAAM,GAAG,CAAC;QACV,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,QAAQ,CAAC,CAAC,qBAAqB,CAC7B,GAAgB,EAChB,SAAwB,EACxB,KAAY,EACZ,SAA6D;IAE7D,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE7C,uFAAuF;IACvF,MAAM,SAAS,IAAI,MAAM,KAAK,CAAC,WAAW,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAElG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,IAAI,KAAK,CAAC;QACxB,MAAM,YAAY,KAAK,CAAC,GAAG,mCAAmC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,wCAAwC,SAAS,CAAC,IAAI,MAAM,CAAC;QACvK,MAAM,GAAG,CAAC;QACV,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/http/server/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/http/server/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,MAAM,EAAgB,MAAM,cAAc,CAAC;AAIpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ1C;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAqBzF"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/http/server/router.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,WAAW,EAKZ,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,MAAM,EAAgB,MAAM,cAAc,CAAC;AAIpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAqBzF"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation
2
2
  // Licensed under the MIT license.
3
- import { getHttpOperation, } from "@typespec/http";
3
+ import { getHeaderFieldName, isHeader, } from "@typespec/http";
4
4
  import { createOrGetModuleForNamespace, emitNamespaceInterfaceReference, } from "../../common/namespace.js";
5
5
  import { emitTypeReference } from "../../common/reference.js";
6
6
  import { createModule } from "../../ctx.js";
@@ -9,9 +9,7 @@ import { bifilter, indent } from "../../util/iter.js";
9
9
  import { keywordSafe } from "../../util/keywords.js";
10
10
  import { module as headerHelpers } from "../../../generated-defs/helpers/header.js";
11
11
  import { module as routerHelper } from "../../../generated-defs/helpers/router.js";
12
- import { parseHeaderValueParameters } from "../../helpers/header.js";
13
- import { reportDiagnostic } from "../../lib.js";
14
- import { UnimplementedError } from "../../util/error.js";
12
+ import { differentiateModelTypes, writeCodeTree } from "../../util/differentiate.js";
15
13
  /**
16
14
  * Emit a router for the HTTP operations defined in a given service.
17
15
  *
@@ -197,7 +195,7 @@ function* emitRouteHandler(ctx, routeHandlers, routeTree, backends, module) {
197
195
  const onRouteNotFound = "ctx.errorHandlers.onRequestNotFound";
198
196
  yield `if (path.length === 0) {`;
199
197
  if (routeTree.operations.size > 0) {
200
- yield* indent(emitRouteOperationDispatch(ctx, routeHandlers, routeTree.operations, backends));
198
+ yield* indent(emitRouteOperationDispatch(ctx, routeHandlers, routeTree.operations, backends, module));
201
199
  }
202
200
  else {
203
201
  // Not found
@@ -244,7 +242,7 @@ function* emitRouteHandler(ctx, routeHandlers, routeTree, backends, module) {
244
242
  * @param operations - The operations mapped to the route.
245
243
  * @param backends - The map of backends for operations.
246
244
  */
247
- function* emitRouteOperationDispatch(ctx, routeHandlers, operations, backends) {
245
+ function* emitRouteOperationDispatch(ctx, routeHandlers, operations, backends, module) {
248
246
  yield `switch (request.method) {`;
249
247
  for (const [verb, operationList] of operations.entries()) {
250
248
  if (operationList.length === 1) {
@@ -260,9 +258,8 @@ function* emitRouteOperationDispatch(ctx, routeHandlers, operations, backends) {
260
258
  }
261
259
  else {
262
260
  // Shared route
263
- const route = getHttpOperation(ctx.program, operationList[0].operation)[0].path;
264
261
  yield ` case ${JSON.stringify(verb.toUpperCase())}:`;
265
- yield* indent(indent(emitRouteOperationDispatchMultiple(ctx, routeHandlers, operationList, route, backends)));
262
+ yield* indent(indent(emitRouteOperationDispatchMultiple(ctx, routeHandlers, operationList, backends, module)));
266
263
  }
267
264
  }
268
265
  yield ` default:`;
@@ -276,41 +273,36 @@ function* emitRouteOperationDispatch(ctx, routeHandlers, operations, backends) {
276
273
  * @param operations - The operations mapped to the route.
277
274
  * @param backends - The map of backends for operations.
278
275
  */
279
- function* emitRouteOperationDispatchMultiple(ctx, routeHandlers, operations, route, backends) {
280
- const usedContentTypes = new Set();
281
- const contentTypeMap = new Map();
282
- for (const operation of operations) {
283
- const [httpOperation] = getHttpOperation(ctx.program, operation.operation);
284
- const operationContentType = httpOperation.parameters.parameters.find((param) => param.type === "header" && param.name.toLowerCase() === "content-type")?.param.type;
285
- if (!operationContentType || operationContentType.kind !== "String") {
286
- throw new UnimplementedError("Only string content-types are supported for route differentiation.");
287
- }
288
- if (usedContentTypes.has(operationContentType.value)) {
289
- reportDiagnostic(ctx.program, {
290
- code: "undifferentiable-route",
291
- target: httpOperation.operation,
292
- });
293
- }
294
- usedContentTypes.add(operationContentType.value);
295
- contentTypeMap.set(operation, operationContentType.value);
296
- }
297
- const contentTypeName = ctx.gensym("contentType");
298
- yield `const ${contentTypeName} = parseHeaderValueParameters(request.headers["content-type"])?.value;`;
299
- yield `switch (${contentTypeName}) {`;
300
- for (const [operation, contentType] of contentTypeMap.entries()) {
301
- const [backend] = backends.get(operation.container);
302
- const operationName = keywordSafe(backend.snakeCase + "_" + parseCase(operation.operation.name).snakeCase);
303
- const backendMemberName = keywordSafe(backend.camelCase);
304
- const parameters = operation.parameters.length > 0
305
- ? ", " + operation.parameters.map((param) => parseCase(param.name).camelCase).join(", ")
306
- : "";
307
- const contentTypeValue = parseHeaderValueParameters(contentType).value;
308
- yield ` case ${JSON.stringify(contentTypeValue)}:`;
309
- yield ` return ${routeHandlers}.${operationName}(ctx, ${backendMemberName}${parameters});`;
310
- }
311
- yield ` default:`;
312
- yield ` return ctx.errorHandlers.onInvalidRequest(ctx, ${JSON.stringify(route)}, \`No operation in route '${route}' matched content-type "\${${contentTypeName}}"\`);`;
313
- yield "}";
276
+ function* emitRouteOperationDispatchMultiple(ctx, routeHandlers, operations, backends, module) {
277
+ const differentiated = differentiateModelTypes(ctx, module, new Set(operations.map((op) => op.operation.parameters)), {
278
+ renderPropertyName(prop) {
279
+ return getHeaderFieldName(ctx.program, prop);
280
+ },
281
+ filter(prop) {
282
+ return isHeader(ctx.program, prop);
283
+ },
284
+ else: {
285
+ kind: "verbatim",
286
+ body: [`return ctx.errorHandlers.onRequestNotFound(ctx);`],
287
+ },
288
+ });
289
+ yield* writeCodeTree(ctx, differentiated, {
290
+ referenceModelProperty(p) {
291
+ const headerName = getHeaderFieldName(ctx.program, p);
292
+ return `request.headers["${headerName}"]`;
293
+ },
294
+ *renderResult(type) {
295
+ const operation = operations.find((op) => op.operation.parameters === type);
296
+ const [backend] = backends.get(operation.container);
297
+ const operationName = keywordSafe(backend.snakeCase + "_" + parseCase(operation.operation.name).snakeCase);
298
+ const backendMemberName = keywordSafe(backend.camelCase);
299
+ const parameters = operation.parameters.length > 0
300
+ ? ", " + operation.parameters.map((param) => parseCase(param.name).camelCase).join(", ")
301
+ : "";
302
+ yield `return ${routeHandlers}.${operationName}(ctx, ${backendMemberName}${parameters});`;
303
+ },
304
+ subject: "(request.headers)",
305
+ });
314
306
  }
315
307
  /**
316
308
  * Create a route tree for a given service.
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/http/server/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/http/server/router.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -56,8 +56,11 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
56
56
  "unknown-encoding": {
57
57
  readonly default: import("@typespec/compiler").CallableMessage<["encoding", "target", "type"]>;
58
58
  };
59
+ "unrecognized-media-type": {
60
+ readonly default: import("@typespec/compiler").CallableMessage<["mediaType", "type"]>;
61
+ };
59
62
  }, JsEmitterOptions, never>;
60
- declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecognized-scalar" | "unrecognized-encoding" | "http-emit-disabled" | "no-services-in-program" | "undifferentiable-route" | "undifferentiable-scalar" | "undifferentiable-model" | "unrepresentable-numeric-constant" | "undifferentiable-union-variant" | "unspeakable-status-code" | "name-conflict" | "dynamic-request-content-type" | "openapi3-document-not-generated" | "unknown-encoding", M extends keyof {
63
+ declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecognized-scalar" | "unrecognized-encoding" | "http-emit-disabled" | "no-services-in-program" | "undifferentiable-route" | "undifferentiable-scalar" | "undifferentiable-model" | "unrepresentable-numeric-constant" | "undifferentiable-union-variant" | "unspeakable-status-code" | "name-conflict" | "dynamic-request-content-type" | "openapi3-document-not-generated" | "unknown-encoding" | "unrecognized-media-type", M extends keyof {
61
64
  "unrecognized-intrinsic": {
62
65
  readonly default: import("@typespec/compiler").CallableMessage<["intrinsic"]>;
63
66
  };
@@ -104,6 +107,9 @@ declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecogni
104
107
  "unknown-encoding": {
105
108
  readonly default: import("@typespec/compiler").CallableMessage<["encoding", "target", "type"]>;
106
109
  };
110
+ "unrecognized-media-type": {
111
+ readonly default: import("@typespec/compiler").CallableMessage<["mediaType", "type"]>;
112
+ };
107
113
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
108
114
  "unrecognized-intrinsic": {
109
115
  readonly default: import("@typespec/compiler").CallableMessage<["intrinsic"]>;
@@ -151,6 +157,9 @@ declare const reportDiagnostic: <C extends "unrecognized-intrinsic" | "unrecogni
151
157
  "unknown-encoding": {
152
158
  readonly default: import("@typespec/compiler").CallableMessage<["encoding", "target", "type"]>;
153
159
  };
160
+ "unrecognized-media-type": {
161
+ readonly default: import("@typespec/compiler").CallableMessage<["mediaType", "type"]>;
162
+ };
154
163
  }, C, M>) => void;
155
164
  export { reportDiagnostic };
156
165
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;uHAEmH;IACnH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;iGAC6F;IAC7F,wBAAwB,EAAE,OAAO,CAAC;IAClC,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AA6BD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA0Gf,CAAC;AAEH,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;uHAEmH;IACnH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;iGAC6F;IAC7F,wBAAwB,EAAE,OAAO,CAAC;IAClC,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AA6BD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgHf,CAAC;AAEH,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
package/dist/src/lib.js CHANGED
@@ -125,6 +125,12 @@ export const $lib = createTypeSpecLibrary({
125
125
  default: paramMessage `Unknown encoding '${"encoding"}' to type '${"target"}' for type '${"type"}'.`,
126
126
  },
127
127
  },
128
+ "unrecognized-media-type": {
129
+ severity: "error",
130
+ messages: {
131
+ default: paramMessage `unrecognized media (MIME) type '${"mediaType"}' for type '${"type"}'.`,
132
+ },
133
+ },
128
134
  },
129
135
  });
130
136
  const { reportDiagnostic } = $lib;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ export interface Switch {
67
67
  */
68
68
  export interface Verbatim {
69
69
  kind: "verbatim";
70
- body: Iterable<string>;
70
+ body: Iterable<string> | (() => Iterable<string>);
71
71
  }
72
72
  /**
73
73
  * A case in a switch statement.
@@ -206,6 +206,29 @@ export declare function differentiateTypes(ctx: JsContext, module: Module, cases
206
206
  * An integer range, inclusive.
207
207
  */
208
208
  type IntegerRange = [number, number];
209
+ /**
210
+ * Optional paramters for model differentiation.
211
+ */
212
+ interface DifferentiateModelOptions {
213
+ /**
214
+ * A function that converts a model property reference over the subject to a string.
215
+ *
216
+ * Default: `(prop) => prop.name`
217
+ */
218
+ renderPropertyName?: (prop: ModelProperty) => string;
219
+ /**
220
+ * A filter function that determines which properties to consider for differentiation.
221
+ *
222
+ * Default: `() => true`
223
+ */
224
+ filter?: (prop: ModelProperty) => boolean;
225
+ /**
226
+ * The default case to use if no other cases match.
227
+ *
228
+ * Default: undefined.
229
+ */
230
+ else?: CodeTree | undefined;
231
+ }
209
232
  /**
210
233
  * Differentiate a set of model types based on their properties. This function returns a CodeTree that will test an input
211
234
  * "subject" and determine which of the cases it matches, executing the corresponding code block.
@@ -215,7 +238,7 @@ type IntegerRange = [number, number];
215
238
  * @param renderPropertyName - A function that converts a model property reference over the subject to a string.
216
239
  * @returns a CodeTree to use with `writeCodeTree`
217
240
  */
218
- export declare function differentiateModelTypes(ctx: JsContext, module: Module, models: Set<Model>, renderPropertyName?: (prop: ModelProperty) => string): CodeTree;
241
+ export declare function differentiateModelTypes(ctx: JsContext, module: Module, models: Set<Model>, options?: DifferentiateModelOptions): CodeTree;
219
242
  /**
220
243
  * Options for the `writeCodeTree` function.
221
244
  */
@@ -1 +1 @@
1
- {"version":3,"file":"differentiate.d.ts","sourceRoot":"","sources":["../../../src/util/differentiate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"differentiate.d.ts","sourceRoot":"","sources":["../../../src/util/differentiate.ts"],"names":[],"mappings":"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"}