refactor(cors): adds doc links and addressed review comments
pr https://github.com/smithy-lang/smithy/pull/2290
This commit is contained in:
parent
58bd9bdfbb
commit
878517a88d
|
@ -710,8 +710,8 @@ syncCorsPreflightIntegration (``boolean``)
|
|||
}
|
||||
}
|
||||
|
||||
With this enabled, the ``passthroughBehavior`` for the CORS preflight integration
|
||||
will be set to "never".
|
||||
With this enabled, the `integration's passthroughBehavior`_ for CORS preflight integration
|
||||
will be set to ``never``.
|
||||
|
||||
|
||||
----------------------------------
|
||||
|
@ -2060,4 +2060,5 @@ The conversion process is highly extensible through
|
|||
.. _Lambda authorizers: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html
|
||||
.. _API Gateway's API key usage plans: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html
|
||||
.. _OpenAPI specification extension: https://spec.openapis.org/oas/v3.1.0#specification-extensions
|
||||
.. _integration's passthroughBehavior: https://docs.aws.amazon.com/apigateway/latest/developerguide/integration-passthrough-behaviors.html
|
||||
.. _gradle installed: https://gradle.org/install/
|
||||
|
|
|
@ -230,6 +230,8 @@ final class AddCorsPreflightIntegration implements ApiGatewayMapper {
|
|||
MockIntegrationTrait.Builder integration = MockIntegrationTrait.builder()
|
||||
// See https://forums.aws.amazon.com/thread.jspa?threadID=256140
|
||||
.contentHandling("CONVERT_TO_TEXT")
|
||||
// Passthrough behavior "never" will fail the request with unsupported content type more appropriately.
|
||||
// https://docs.aws.amazon.com/apigateway/latest/developerguide/integration-passthrough-behaviors.html
|
||||
.passThroughBehavior(isPreflightSynced ? "never" : "when_no_match")
|
||||
.putResponse("default", responseBuilder.build())
|
||||
.putRequestTemplate(API_GATEWAY_DEFAULT_ACCEPT_VALUE, PREFLIGHT_SUCCESS);
|
||||
|
@ -243,7 +245,7 @@ final class AddCorsPreflightIntegration implements ApiGatewayMapper {
|
|||
for (OperationObject operation : pathItem.getOperations().values()) {
|
||||
ObjectNode extensionNode = operation.getExtension(INTEGRATION_EXTENSION)
|
||||
.flatMap(Node::asObjectNode)
|
||||
.orElse(ObjectNode.EMPTY);
|
||||
.orElse(Node.objectNode());
|
||||
Set<String> mimeTypes = extensionNode.getObjectMember(REQUEST_TEMPLATES_KEY)
|
||||
.map(ObjectNode::getStringMap)
|
||||
.map(Map::keySet)
|
||||
|
|
|
@ -43,7 +43,7 @@ import software.amazon.smithy.utils.ToSmithyBuilder;
|
|||
* Represents an object node.
|
||||
*/
|
||||
public final class ObjectNode extends Node implements ToSmithyBuilder<ObjectNode> {
|
||||
public static final ObjectNode EMPTY = new ObjectNode(MapUtils.of(), SourceLocation.none(), false);
|
||||
static final ObjectNode EMPTY = new ObjectNode(MapUtils.of(), SourceLocation.none(), false);
|
||||
private static final Logger LOGGER = Logger.getLogger(ObjectNode.class.getName());
|
||||
|
||||
private final Map<StringNode, Node> nodeMap;
|
||||
|
|
Loading…
Reference in New Issue