【发布时间】:2021-03-13 12:10:36
【问题描述】:
我有如下定义的 grpc 端点。 grpc 端点返回一个 .zip 文件。它在 grpc 通道上工作正常,但我在通过 REST 端点下载它时遇到问题。
我使用 envoy 进行 http 转码。
我现在在 REST 端点上的问题是下载响应标头始终设置为 application/json 而不是 application/zip 以使 zip 下载正常工作。
知道如何指示特使在转码期间设置正确的标头,以便 REST 下载能够正常工作吗?
// Download build
//
// Download build
rpc DownloadBuild(DownloadBuildRequest) returns (stream DownloadResponse) {
option (google.api.http) = {
get : "/v4/projects/{projectId}/types/{buildType}/builds/{buildVersion}/.download"
headers: {}
};
option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = {
description: "Download build.";
summary: "Download build.";
tags: "Builds";
produces: "application/zip";
responses: {
key: "200"
value: {
description: "Download build";
}
}
responses: {
key: "401"
value: {
description: "Request could not be authorized";
}
}
responses: {
key: "404"
value: {
description: "Build not found";
}
}
responses: {
key: "500"
value: {
description: "Internal server error";
}
}
};
}
【问题讨论】:
标签: grpc envoyproxy