本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
$util.http 中的 HTTP 助手
该$util.http
实用程序提供了辅助方法,您可以使用这些方法来管理 HTTP 请求参数和添加响应标头。
-
$util.http.copyHeaders(Map) : Map
-
从地图中复制标头,不带限制的 HTTP 标头集。您可以使用它将请求标头转发到您的下游 HTTP 端点。
{ ... "params": { ... "headers": $util.http.copyHeaders($ctx.request.headers), ... }, ... }
$util.http.addResponseHeader(String, Object)
-
添加一个带有响应名称 (
String
) 和值 (Object
) 的自定义标头。适用以下限制:-
标头名称不能与任何现有的、受限制的Amazon AppSync标题Amazon或标题相匹配。
-
标头名称不能以受限制的前缀开头,例如
x-amzn-
或x-amz-
。 -
自定义响应标头的大小不能超过 4 KB。这包括标题名称和值。
-
您应该为每个 GraphQL 操作定义每个响应标头一次。但是,如果您多次定义具有相同名称的自定义标头,则最新的定义将出现在响应中。无论命名如何,所有标头都计入标头大小限制。
... $util.http.addResponseHeader("itemsCount", 7) $util.http.addResponseHeader("render", $ctx.args.render) ...
-
$util.http.addResponseHeaders(Map)
-
将多个响应标头添加到来自指定名称 (
String
) 和值 (Object
) 映射的响应中。为该addResponseHeader(String, Object)
方法列出的相同限制也适用于此方法。... #set($headersMap = {}) $util.qr($headersMap.put("headerInt", 12)) $util.qr($headersMap.put("headerString", "stringValue")) $util.qr($headersMap.put("headerObject", {"field1": 7, "field2": "string"})) $util.http.addResponseHeaders($headersMap) ...