$util.http 中的 HTTP 帮助程序
注意
我们现在主要支持 APPSYNC_JS 运行时系统及其文档。请考虑使用 APPSYNC_JS 运行时系统和此处的指南。
$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 或 Amazon AppSync 标头匹配。
-
标头名称不能以受限制的前缀开头,例如
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) ...