HTTP $util.http 中的協助程式 - AWS AppSync

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

HTTP $util.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) 的單一自訂標頭。有下列限制:

  • 標頭名稱不能與任何現有或受限 AWS 或 AWS 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) ...