async handle()

in private/aws-restjson-server/src/server/RestJsonService.ts [741:2008]


  async handle(request: __HttpRequest, context: Context): Promise<__HttpResponse> {
    const target = this.mux.match(request);
    if (target === undefined) {
      return this.serializeFrameworkException(new __UnknownOperationException(), serdeContextBase);
    }
    switch (target.operation) {
      case "AllQueryStringTypes": {
        return handle(
          request,
          context,
          "AllQueryStringTypes",
          this.serializerFactory("AllQueryStringTypes"),
          this.service.AllQueryStringTypes,
          this.serializeFrameworkException,
          AllQueryStringTypesServerInput.validate,
          this.validationCustomizer
        );
      }
      case "ConstantAndVariableQueryString": {
        return handle(
          request,
          context,
          "ConstantAndVariableQueryString",
          this.serializerFactory("ConstantAndVariableQueryString"),
          this.service.ConstantAndVariableQueryString,
          this.serializeFrameworkException,
          ConstantAndVariableQueryStringServerInput.validate,
          this.validationCustomizer
        );
      }
      case "ConstantQueryString": {
        return handle(
          request,
          context,
          "ConstantQueryString",
          this.serializerFactory("ConstantQueryString"),
          this.service.ConstantQueryString,
          this.serializeFrameworkException,
          ConstantQueryStringServerInput.validate,
          this.validationCustomizer
        );
      }
      case "ContentTypeParameters": {
        return handle(
          request,
          context,
          "ContentTypeParameters",
          this.serializerFactory("ContentTypeParameters"),
          this.service.ContentTypeParameters,
          this.serializeFrameworkException,
          ContentTypeParametersServerInput.validate,
          this.validationCustomizer
        );
      }
      case "DatetimeOffsets": {
        return handle(
          request,
          context,
          "DatetimeOffsets",
          this.serializerFactory("DatetimeOffsets"),
          this.service.DatetimeOffsets,
          this.serializeFrameworkException,
          DatetimeOffsetsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "DocumentType": {
        return handle(
          request,
          context,
          "DocumentType",
          this.serializerFactory("DocumentType"),
          this.service.DocumentType,
          this.serializeFrameworkException,
          DocumentTypeServerInput.validate,
          this.validationCustomizer
        );
      }
      case "DocumentTypeAsMapValue": {
        return handle(
          request,
          context,
          "DocumentTypeAsMapValue",
          this.serializerFactory("DocumentTypeAsMapValue"),
          this.service.DocumentTypeAsMapValue,
          this.serializeFrameworkException,
          DocumentTypeAsMapValueServerInput.validate,
          this.validationCustomizer
        );
      }
      case "DocumentTypeAsPayload": {
        return handle(
          request,
          context,
          "DocumentTypeAsPayload",
          this.serializerFactory("DocumentTypeAsPayload"),
          this.service.DocumentTypeAsPayload,
          this.serializeFrameworkException,
          DocumentTypeAsPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "EmptyInputAndEmptyOutput": {
        return handle(
          request,
          context,
          "EmptyInputAndEmptyOutput",
          this.serializerFactory("EmptyInputAndEmptyOutput"),
          this.service.EmptyInputAndEmptyOutput,
          this.serializeFrameworkException,
          EmptyInputAndEmptyOutputServerInput.validate,
          this.validationCustomizer
        );
      }
      case "EndpointOperation": {
        return handle(
          request,
          context,
          "EndpointOperation",
          this.serializerFactory("EndpointOperation"),
          this.service.EndpointOperation,
          this.serializeFrameworkException,
          EndpointOperationServerInput.validate,
          this.validationCustomizer
        );
      }
      case "EndpointWithHostLabelOperation": {
        return handle(
          request,
          context,
          "EndpointWithHostLabelOperation",
          this.serializerFactory("EndpointWithHostLabelOperation"),
          this.service.EndpointWithHostLabelOperation,
          this.serializeFrameworkException,
          EndpointWithHostLabelOperationServerInput.validate,
          this.validationCustomizer
        );
      }
      case "FractionalSeconds": {
        return handle(
          request,
          context,
          "FractionalSeconds",
          this.serializerFactory("FractionalSeconds"),
          this.service.FractionalSeconds,
          this.serializeFrameworkException,
          FractionalSecondsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "GreetingWithErrors": {
        return handle(
          request,
          context,
          "GreetingWithErrors",
          this.serializerFactory("GreetingWithErrors"),
          this.service.GreetingWithErrors,
          this.serializeFrameworkException,
          GreetingWithErrorsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HostWithPathOperation": {
        return handle(
          request,
          context,
          "HostWithPathOperation",
          this.serializerFactory("HostWithPathOperation"),
          this.service.HostWithPathOperation,
          this.serializeFrameworkException,
          HostWithPathOperationServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpChecksumRequired": {
        return handle(
          request,
          context,
          "HttpChecksumRequired",
          this.serializerFactory("HttpChecksumRequired"),
          this.service.HttpChecksumRequired,
          this.serializeFrameworkException,
          HttpChecksumRequiredServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpEmptyPrefixHeaders": {
        return handle(
          request,
          context,
          "HttpEmptyPrefixHeaders",
          this.serializerFactory("HttpEmptyPrefixHeaders"),
          this.service.HttpEmptyPrefixHeaders,
          this.serializeFrameworkException,
          HttpEmptyPrefixHeadersServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpEnumPayload": {
        return handle(
          request,
          context,
          "HttpEnumPayload",
          this.serializerFactory("HttpEnumPayload"),
          this.service.HttpEnumPayload,
          this.serializeFrameworkException,
          HttpEnumPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpPayloadTraits": {
        return handle(
          request,
          context,
          "HttpPayloadTraits",
          this.serializerFactory("HttpPayloadTraits"),
          this.service.HttpPayloadTraits,
          this.serializeFrameworkException,
          HttpPayloadTraitsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpPayloadTraitsWithMediaType": {
        return handle(
          request,
          context,
          "HttpPayloadTraitsWithMediaType",
          this.serializerFactory("HttpPayloadTraitsWithMediaType"),
          this.service.HttpPayloadTraitsWithMediaType,
          this.serializeFrameworkException,
          HttpPayloadTraitsWithMediaTypeServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpPayloadWithStructure": {
        return handle(
          request,
          context,
          "HttpPayloadWithStructure",
          this.serializerFactory("HttpPayloadWithStructure"),
          this.service.HttpPayloadWithStructure,
          this.serializeFrameworkException,
          HttpPayloadWithStructureServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpPayloadWithUnion": {
        return handle(
          request,
          context,
          "HttpPayloadWithUnion",
          this.serializerFactory("HttpPayloadWithUnion"),
          this.service.HttpPayloadWithUnion,
          this.serializeFrameworkException,
          HttpPayloadWithUnionServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpPrefixHeaders": {
        return handle(
          request,
          context,
          "HttpPrefixHeaders",
          this.serializerFactory("HttpPrefixHeaders"),
          this.service.HttpPrefixHeaders,
          this.serializeFrameworkException,
          HttpPrefixHeadersServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpPrefixHeadersInResponse": {
        return handle(
          request,
          context,
          "HttpPrefixHeadersInResponse",
          this.serializerFactory("HttpPrefixHeadersInResponse"),
          this.service.HttpPrefixHeadersInResponse,
          this.serializeFrameworkException,
          HttpPrefixHeadersInResponseServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpRequestWithFloatLabels": {
        return handle(
          request,
          context,
          "HttpRequestWithFloatLabels",
          this.serializerFactory("HttpRequestWithFloatLabels"),
          this.service.HttpRequestWithFloatLabels,
          this.serializeFrameworkException,
          HttpRequestWithFloatLabelsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpRequestWithGreedyLabelInPath": {
        return handle(
          request,
          context,
          "HttpRequestWithGreedyLabelInPath",
          this.serializerFactory("HttpRequestWithGreedyLabelInPath"),
          this.service.HttpRequestWithGreedyLabelInPath,
          this.serializeFrameworkException,
          HttpRequestWithGreedyLabelInPathServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpRequestWithLabels": {
        return handle(
          request,
          context,
          "HttpRequestWithLabels",
          this.serializerFactory("HttpRequestWithLabels"),
          this.service.HttpRequestWithLabels,
          this.serializeFrameworkException,
          HttpRequestWithLabelsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpRequestWithLabelsAndTimestampFormat": {
        return handle(
          request,
          context,
          "HttpRequestWithLabelsAndTimestampFormat",
          this.serializerFactory("HttpRequestWithLabelsAndTimestampFormat"),
          this.service.HttpRequestWithLabelsAndTimestampFormat,
          this.serializeFrameworkException,
          HttpRequestWithLabelsAndTimestampFormatServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpRequestWithRegexLiteral": {
        return handle(
          request,
          context,
          "HttpRequestWithRegexLiteral",
          this.serializerFactory("HttpRequestWithRegexLiteral"),
          this.service.HttpRequestWithRegexLiteral,
          this.serializeFrameworkException,
          HttpRequestWithRegexLiteralServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpResponseCode": {
        return handle(
          request,
          context,
          "HttpResponseCode",
          this.serializerFactory("HttpResponseCode"),
          this.service.HttpResponseCode,
          this.serializeFrameworkException,
          HttpResponseCodeServerInput.validate,
          this.validationCustomizer
        );
      }
      case "HttpStringPayload": {
        return handle(
          request,
          context,
          "HttpStringPayload",
          this.serializerFactory("HttpStringPayload"),
          this.service.HttpStringPayload,
          this.serializeFrameworkException,
          HttpStringPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "IgnoreQueryParamsInResponse": {
        return handle(
          request,
          context,
          "IgnoreQueryParamsInResponse",
          this.serializerFactory("IgnoreQueryParamsInResponse"),
          this.service.IgnoreQueryParamsInResponse,
          this.serializeFrameworkException,
          IgnoreQueryParamsInResponseServerInput.validate,
          this.validationCustomizer
        );
      }
      case "InputAndOutputWithHeaders": {
        return handle(
          request,
          context,
          "InputAndOutputWithHeaders",
          this.serializerFactory("InputAndOutputWithHeaders"),
          this.service.InputAndOutputWithHeaders,
          this.serializeFrameworkException,
          InputAndOutputWithHeadersServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonBlobs": {
        return handle(
          request,
          context,
          "JsonBlobs",
          this.serializerFactory("JsonBlobs"),
          this.service.JsonBlobs,
          this.serializeFrameworkException,
          JsonBlobsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonEnums": {
        return handle(
          request,
          context,
          "JsonEnums",
          this.serializerFactory("JsonEnums"),
          this.service.JsonEnums,
          this.serializeFrameworkException,
          JsonEnumsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonIntEnums": {
        return handle(
          request,
          context,
          "JsonIntEnums",
          this.serializerFactory("JsonIntEnums"),
          this.service.JsonIntEnums,
          this.serializeFrameworkException,
          JsonIntEnumsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonLists": {
        return handle(
          request,
          context,
          "JsonLists",
          this.serializerFactory("JsonLists"),
          this.service.JsonLists,
          this.serializeFrameworkException,
          JsonListsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonMaps": {
        return handle(
          request,
          context,
          "JsonMaps",
          this.serializerFactory("JsonMaps"),
          this.service.JsonMaps,
          this.serializeFrameworkException,
          JsonMapsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonTimestamps": {
        return handle(
          request,
          context,
          "JsonTimestamps",
          this.serializerFactory("JsonTimestamps"),
          this.service.JsonTimestamps,
          this.serializeFrameworkException,
          JsonTimestampsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "JsonUnions": {
        return handle(
          request,
          context,
          "JsonUnions",
          this.serializerFactory("JsonUnions"),
          this.service.JsonUnions,
          this.serializeFrameworkException,
          JsonUnionsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedAcceptWithBody": {
        return handle(
          request,
          context,
          "MalformedAcceptWithBody",
          this.serializerFactory("MalformedAcceptWithBody"),
          this.service.MalformedAcceptWithBody,
          this.serializeFrameworkException,
          MalformedAcceptWithBodyServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedAcceptWithGenericString": {
        return handle(
          request,
          context,
          "MalformedAcceptWithGenericString",
          this.serializerFactory("MalformedAcceptWithGenericString"),
          this.service.MalformedAcceptWithGenericString,
          this.serializeFrameworkException,
          MalformedAcceptWithGenericStringServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedAcceptWithPayload": {
        return handle(
          request,
          context,
          "MalformedAcceptWithPayload",
          this.serializerFactory("MalformedAcceptWithPayload"),
          this.service.MalformedAcceptWithPayload,
          this.serializeFrameworkException,
          MalformedAcceptWithPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedBlob": {
        return handle(
          request,
          context,
          "MalformedBlob",
          this.serializerFactory("MalformedBlob"),
          this.service.MalformedBlob,
          this.serializeFrameworkException,
          MalformedBlobServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedBoolean": {
        return handle(
          request,
          context,
          "MalformedBoolean",
          this.serializerFactory("MalformedBoolean"),
          this.service.MalformedBoolean,
          this.serializeFrameworkException,
          MalformedBooleanServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedByte": {
        return handle(
          request,
          context,
          "MalformedByte",
          this.serializerFactory("MalformedByte"),
          this.service.MalformedByte,
          this.serializeFrameworkException,
          MalformedByteServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedContentTypeWithBody": {
        return handle(
          request,
          context,
          "MalformedContentTypeWithBody",
          this.serializerFactory("MalformedContentTypeWithBody"),
          this.service.MalformedContentTypeWithBody,
          this.serializeFrameworkException,
          MalformedContentTypeWithBodyServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedContentTypeWithGenericString": {
        return handle(
          request,
          context,
          "MalformedContentTypeWithGenericString",
          this.serializerFactory("MalformedContentTypeWithGenericString"),
          this.service.MalformedContentTypeWithGenericString,
          this.serializeFrameworkException,
          MalformedContentTypeWithGenericStringServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedContentTypeWithoutBody": {
        return handle(
          request,
          context,
          "MalformedContentTypeWithoutBody",
          this.serializerFactory("MalformedContentTypeWithoutBody"),
          this.service.MalformedContentTypeWithoutBody,
          this.serializeFrameworkException,
          MalformedContentTypeWithoutBodyServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedContentTypeWithoutBodyEmptyInput": {
        return handle(
          request,
          context,
          "MalformedContentTypeWithoutBodyEmptyInput",
          this.serializerFactory("MalformedContentTypeWithoutBodyEmptyInput"),
          this.service.MalformedContentTypeWithoutBodyEmptyInput,
          this.serializeFrameworkException,
          MalformedContentTypeWithoutBodyEmptyInputServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedContentTypeWithPayload": {
        return handle(
          request,
          context,
          "MalformedContentTypeWithPayload",
          this.serializerFactory("MalformedContentTypeWithPayload"),
          this.service.MalformedContentTypeWithPayload,
          this.serializeFrameworkException,
          MalformedContentTypeWithPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedDouble": {
        return handle(
          request,
          context,
          "MalformedDouble",
          this.serializerFactory("MalformedDouble"),
          this.service.MalformedDouble,
          this.serializeFrameworkException,
          MalformedDoubleServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedFloat": {
        return handle(
          request,
          context,
          "MalformedFloat",
          this.serializerFactory("MalformedFloat"),
          this.service.MalformedFloat,
          this.serializeFrameworkException,
          MalformedFloatServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedInteger": {
        return handle(
          request,
          context,
          "MalformedInteger",
          this.serializerFactory("MalformedInteger"),
          this.service.MalformedInteger,
          this.serializeFrameworkException,
          MalformedIntegerServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedList": {
        return handle(
          request,
          context,
          "MalformedList",
          this.serializerFactory("MalformedList"),
          this.service.MalformedList,
          this.serializeFrameworkException,
          MalformedListServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedLong": {
        return handle(
          request,
          context,
          "MalformedLong",
          this.serializerFactory("MalformedLong"),
          this.service.MalformedLong,
          this.serializeFrameworkException,
          MalformedLongServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedMap": {
        return handle(
          request,
          context,
          "MalformedMap",
          this.serializerFactory("MalformedMap"),
          this.service.MalformedMap,
          this.serializeFrameworkException,
          MalformedMapServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedRequestBody": {
        return handle(
          request,
          context,
          "MalformedRequestBody",
          this.serializerFactory("MalformedRequestBody"),
          this.service.MalformedRequestBody,
          this.serializeFrameworkException,
          MalformedRequestBodyServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedShort": {
        return handle(
          request,
          context,
          "MalformedShort",
          this.serializerFactory("MalformedShort"),
          this.service.MalformedShort,
          this.serializeFrameworkException,
          MalformedShortServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedString": {
        return handle(
          request,
          context,
          "MalformedString",
          this.serializerFactory("MalformedString"),
          this.service.MalformedString,
          this.serializeFrameworkException,
          MalformedStringServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampBodyDateTime": {
        return handle(
          request,
          context,
          "MalformedTimestampBodyDateTime",
          this.serializerFactory("MalformedTimestampBodyDateTime"),
          this.service.MalformedTimestampBodyDateTime,
          this.serializeFrameworkException,
          MalformedTimestampBodyDateTimeServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampBodyDefault": {
        return handle(
          request,
          context,
          "MalformedTimestampBodyDefault",
          this.serializerFactory("MalformedTimestampBodyDefault"),
          this.service.MalformedTimestampBodyDefault,
          this.serializeFrameworkException,
          MalformedTimestampBodyDefaultServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampBodyHttpDate": {
        return handle(
          request,
          context,
          "MalformedTimestampBodyHttpDate",
          this.serializerFactory("MalformedTimestampBodyHttpDate"),
          this.service.MalformedTimestampBodyHttpDate,
          this.serializeFrameworkException,
          MalformedTimestampBodyHttpDateServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampHeaderDateTime": {
        return handle(
          request,
          context,
          "MalformedTimestampHeaderDateTime",
          this.serializerFactory("MalformedTimestampHeaderDateTime"),
          this.service.MalformedTimestampHeaderDateTime,
          this.serializeFrameworkException,
          MalformedTimestampHeaderDateTimeServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampHeaderDefault": {
        return handle(
          request,
          context,
          "MalformedTimestampHeaderDefault",
          this.serializerFactory("MalformedTimestampHeaderDefault"),
          this.service.MalformedTimestampHeaderDefault,
          this.serializeFrameworkException,
          MalformedTimestampHeaderDefaultServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampHeaderEpoch": {
        return handle(
          request,
          context,
          "MalformedTimestampHeaderEpoch",
          this.serializerFactory("MalformedTimestampHeaderEpoch"),
          this.service.MalformedTimestampHeaderEpoch,
          this.serializeFrameworkException,
          MalformedTimestampHeaderEpochServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampPathDefault": {
        return handle(
          request,
          context,
          "MalformedTimestampPathDefault",
          this.serializerFactory("MalformedTimestampPathDefault"),
          this.service.MalformedTimestampPathDefault,
          this.serializeFrameworkException,
          MalformedTimestampPathDefaultServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampPathEpoch": {
        return handle(
          request,
          context,
          "MalformedTimestampPathEpoch",
          this.serializerFactory("MalformedTimestampPathEpoch"),
          this.service.MalformedTimestampPathEpoch,
          this.serializeFrameworkException,
          MalformedTimestampPathEpochServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampPathHttpDate": {
        return handle(
          request,
          context,
          "MalformedTimestampPathHttpDate",
          this.serializerFactory("MalformedTimestampPathHttpDate"),
          this.service.MalformedTimestampPathHttpDate,
          this.serializeFrameworkException,
          MalformedTimestampPathHttpDateServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampQueryDefault": {
        return handle(
          request,
          context,
          "MalformedTimestampQueryDefault",
          this.serializerFactory("MalformedTimestampQueryDefault"),
          this.service.MalformedTimestampQueryDefault,
          this.serializeFrameworkException,
          MalformedTimestampQueryDefaultServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampQueryEpoch": {
        return handle(
          request,
          context,
          "MalformedTimestampQueryEpoch",
          this.serializerFactory("MalformedTimestampQueryEpoch"),
          this.service.MalformedTimestampQueryEpoch,
          this.serializeFrameworkException,
          MalformedTimestampQueryEpochServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedTimestampQueryHttpDate": {
        return handle(
          request,
          context,
          "MalformedTimestampQueryHttpDate",
          this.serializerFactory("MalformedTimestampQueryHttpDate"),
          this.service.MalformedTimestampQueryHttpDate,
          this.serializeFrameworkException,
          MalformedTimestampQueryHttpDateServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MalformedUnion": {
        return handle(
          request,
          context,
          "MalformedUnion",
          this.serializerFactory("MalformedUnion"),
          this.service.MalformedUnion,
          this.serializeFrameworkException,
          MalformedUnionServerInput.validate,
          this.validationCustomizer
        );
      }
      case "MediaTypeHeader": {
        return handle(
          request,
          context,
          "MediaTypeHeader",
          this.serializerFactory("MediaTypeHeader"),
          this.service.MediaTypeHeader,
          this.serializeFrameworkException,
          MediaTypeHeaderServerInput.validate,
          this.validationCustomizer
        );
      }
      case "NoInputAndNoOutput": {
        return handle(
          request,
          context,
          "NoInputAndNoOutput",
          this.serializerFactory("NoInputAndNoOutput"),
          this.service.NoInputAndNoOutput,
          this.serializeFrameworkException,
          NoInputAndNoOutputServerInput.validate,
          this.validationCustomizer
        );
      }
      case "NoInputAndOutput": {
        return handle(
          request,
          context,
          "NoInputAndOutput",
          this.serializerFactory("NoInputAndOutput"),
          this.service.NoInputAndOutput,
          this.serializeFrameworkException,
          NoInputAndOutputServerInput.validate,
          this.validationCustomizer
        );
      }
      case "NullAndEmptyHeadersClient": {
        return handle(
          request,
          context,
          "NullAndEmptyHeadersClient",
          this.serializerFactory("NullAndEmptyHeadersClient"),
          this.service.NullAndEmptyHeadersClient,
          this.serializeFrameworkException,
          NullAndEmptyHeadersClientServerInput.validate,
          this.validationCustomizer
        );
      }
      case "NullAndEmptyHeadersServer": {
        return handle(
          request,
          context,
          "NullAndEmptyHeadersServer",
          this.serializerFactory("NullAndEmptyHeadersServer"),
          this.service.NullAndEmptyHeadersServer,
          this.serializeFrameworkException,
          NullAndEmptyHeadersServerServerInput.validate,
          this.validationCustomizer
        );
      }
      case "OmitsNullSerializesEmptyString": {
        return handle(
          request,
          context,
          "OmitsNullSerializesEmptyString",
          this.serializerFactory("OmitsNullSerializesEmptyString"),
          this.service.OmitsNullSerializesEmptyString,
          this.serializeFrameworkException,
          OmitsNullSerializesEmptyStringServerInput.validate,
          this.validationCustomizer
        );
      }
      case "OmitsSerializingEmptyLists": {
        return handle(
          request,
          context,
          "OmitsSerializingEmptyLists",
          this.serializerFactory("OmitsSerializingEmptyLists"),
          this.service.OmitsSerializingEmptyLists,
          this.serializeFrameworkException,
          OmitsSerializingEmptyListsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "OperationWithDefaults": {
        return handle(
          request,
          context,
          "OperationWithDefaults",
          this.serializerFactory("OperationWithDefaults"),
          this.service.OperationWithDefaults,
          this.serializeFrameworkException,
          OperationWithDefaultsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "OperationWithNestedStructure": {
        return handle(
          request,
          context,
          "OperationWithNestedStructure",
          this.serializerFactory("OperationWithNestedStructure"),
          this.service.OperationWithNestedStructure,
          this.serializeFrameworkException,
          OperationWithNestedStructureServerInput.validate,
          this.validationCustomizer
        );
      }
      case "PostPlayerAction": {
        return handle(
          request,
          context,
          "PostPlayerAction",
          this.serializerFactory("PostPlayerAction"),
          this.service.PostPlayerAction,
          this.serializeFrameworkException,
          PostPlayerActionServerInput.validate,
          this.validationCustomizer
        );
      }
      case "PostUnionWithJsonName": {
        return handle(
          request,
          context,
          "PostUnionWithJsonName",
          this.serializerFactory("PostUnionWithJsonName"),
          this.service.PostUnionWithJsonName,
          this.serializeFrameworkException,
          PostUnionWithJsonNameServerInput.validate,
          this.validationCustomizer
        );
      }
      case "PutWithContentEncoding": {
        return handle(
          request,
          context,
          "PutWithContentEncoding",
          this.serializerFactory("PutWithContentEncoding"),
          this.service.PutWithContentEncoding,
          this.serializeFrameworkException,
          PutWithContentEncodingServerInput.validate,
          this.validationCustomizer
        );
      }
      case "QueryIdempotencyTokenAutoFill": {
        return handle(
          request,
          context,
          "QueryIdempotencyTokenAutoFill",
          this.serializerFactory("QueryIdempotencyTokenAutoFill"),
          this.service.QueryIdempotencyTokenAutoFill,
          this.serializeFrameworkException,
          QueryIdempotencyTokenAutoFillServerInput.validate,
          this.validationCustomizer
        );
      }
      case "QueryParamsAsStringListMap": {
        return handle(
          request,
          context,
          "QueryParamsAsStringListMap",
          this.serializerFactory("QueryParamsAsStringListMap"),
          this.service.QueryParamsAsStringListMap,
          this.serializeFrameworkException,
          QueryParamsAsStringListMapServerInput.validate,
          this.validationCustomizer
        );
      }
      case "QueryPrecedence": {
        return handle(
          request,
          context,
          "QueryPrecedence",
          this.serializerFactory("QueryPrecedence"),
          this.service.QueryPrecedence,
          this.serializeFrameworkException,
          QueryPrecedenceServerInput.validate,
          this.validationCustomizer
        );
      }
      case "RecursiveShapes": {
        return handle(
          request,
          context,
          "RecursiveShapes",
          this.serializerFactory("RecursiveShapes"),
          this.service.RecursiveShapes,
          this.serializeFrameworkException,
          RecursiveShapesServerInput.validate,
          this.validationCustomizer
        );
      }
      case "ResponseCodeHttpFallback": {
        return handle(
          request,
          context,
          "ResponseCodeHttpFallback",
          this.serializerFactory("ResponseCodeHttpFallback"),
          this.service.ResponseCodeHttpFallback,
          this.serializeFrameworkException,
          ResponseCodeHttpFallbackServerInput.validate,
          this.validationCustomizer
        );
      }
      case "ResponseCodeRequired": {
        return handle(
          request,
          context,
          "ResponseCodeRequired",
          this.serializerFactory("ResponseCodeRequired"),
          this.service.ResponseCodeRequired,
          this.serializeFrameworkException,
          ResponseCodeRequiredServerInput.validate,
          this.validationCustomizer
        );
      }
      case "SimpleScalarProperties": {
        return handle(
          request,
          context,
          "SimpleScalarProperties",
          this.serializerFactory("SimpleScalarProperties"),
          this.service.SimpleScalarProperties,
          this.serializeFrameworkException,
          SimpleScalarPropertiesServerInput.validate,
          this.validationCustomizer
        );
      }
      case "SparseJsonLists": {
        return handle(
          request,
          context,
          "SparseJsonLists",
          this.serializerFactory("SparseJsonLists"),
          this.service.SparseJsonLists,
          this.serializeFrameworkException,
          SparseJsonListsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "SparseJsonMaps": {
        return handle(
          request,
          context,
          "SparseJsonMaps",
          this.serializerFactory("SparseJsonMaps"),
          this.service.SparseJsonMaps,
          this.serializeFrameworkException,
          SparseJsonMapsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "StreamingTraits": {
        return handle(
          request,
          context,
          "StreamingTraits",
          this.serializerFactory("StreamingTraits"),
          this.service.StreamingTraits,
          this.serializeFrameworkException,
          StreamingTraitsServerInput.validate,
          this.validationCustomizer
        );
      }
      case "StreamingTraitsRequireLength": {
        return handle(
          request,
          context,
          "StreamingTraitsRequireLength",
          this.serializerFactory("StreamingTraitsRequireLength"),
          this.service.StreamingTraitsRequireLength,
          this.serializeFrameworkException,
          StreamingTraitsRequireLengthServerInput.validate,
          this.validationCustomizer
        );
      }
      case "StreamingTraitsWithMediaType": {
        return handle(
          request,
          context,
          "StreamingTraitsWithMediaType",
          this.serializerFactory("StreamingTraitsWithMediaType"),
          this.service.StreamingTraitsWithMediaType,
          this.serializeFrameworkException,
          StreamingTraitsWithMediaTypeServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestBodyStructure": {
        return handle(
          request,
          context,
          "TestBodyStructure",
          this.serializerFactory("TestBodyStructure"),
          this.service.TestBodyStructure,
          this.serializeFrameworkException,
          TestBodyStructureServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestGetNoInputNoPayload": {
        return handle(
          request,
          context,
          "TestGetNoInputNoPayload",
          this.serializerFactory("TestGetNoInputNoPayload"),
          this.service.TestGetNoInputNoPayload,
          this.serializeFrameworkException,
          TestGetNoInputNoPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestGetNoPayload": {
        return handle(
          request,
          context,
          "TestGetNoPayload",
          this.serializerFactory("TestGetNoPayload"),
          this.service.TestGetNoPayload,
          this.serializeFrameworkException,
          TestGetNoPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestPayloadBlob": {
        return handle(
          request,
          context,
          "TestPayloadBlob",
          this.serializerFactory("TestPayloadBlob"),
          this.service.TestPayloadBlob,
          this.serializeFrameworkException,
          TestPayloadBlobServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestPayloadStructure": {
        return handle(
          request,
          context,
          "TestPayloadStructure",
          this.serializerFactory("TestPayloadStructure"),
          this.service.TestPayloadStructure,
          this.serializeFrameworkException,
          TestPayloadStructureServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestPostNoInputNoPayload": {
        return handle(
          request,
          context,
          "TestPostNoInputNoPayload",
          this.serializerFactory("TestPostNoInputNoPayload"),
          this.service.TestPostNoInputNoPayload,
          this.serializeFrameworkException,
          TestPostNoInputNoPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TestPostNoPayload": {
        return handle(
          request,
          context,
          "TestPostNoPayload",
          this.serializerFactory("TestPostNoPayload"),
          this.service.TestPostNoPayload,
          this.serializeFrameworkException,
          TestPostNoPayloadServerInput.validate,
          this.validationCustomizer
        );
      }
      case "TimestampFormatHeaders": {
        return handle(
          request,
          context,
          "TimestampFormatHeaders",
          this.serializerFactory("TimestampFormatHeaders"),
          this.service.TimestampFormatHeaders,
          this.serializeFrameworkException,
          TimestampFormatHeadersServerInput.validate,
          this.validationCustomizer
        );
      }
      case "UnitInputAndOutput": {
        return handle(
          request,
          context,
          "UnitInputAndOutput",
          this.serializerFactory("UnitInputAndOutput"),
          this.service.UnitInputAndOutput,
          this.serializeFrameworkException,
          UnitInputAndOutputServerInput.validate,
          this.validationCustomizer
        );
      }
    }
  }