Commit 9e685a27 authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa

nghttpx: Various test failures

parent c86e8390
......@@ -927,6 +927,10 @@ int Http2Upstream::downstream_read(DownstreamConnection *dconn) {
if (rv == SHRPX_ERR_EOF) {
return downstream_eof(dconn);
}
if (rv == SHRPX_ERR_DCONN_CANCELED) {
downstream->pop_downstream_connection();
return 0;
}
if (rv != 0) {
if (rv != SHRPX_ERR_NETWORK) {
if (LOG_ENABLED(INFO)) {
......@@ -1163,8 +1167,10 @@ int Http2Upstream::send_reply(Downstream *downstream, const uint8_t *body,
auto status_code_str = util::utos(downstream->get_response_http_status());
auto &headers = downstream->get_response_headers();
auto nva = std::vector<nghttp2_nv>();
// 2 for :status and server
auto nva = std::vector<nghttp2_nv>(2 + headers.size());
nva.reserve(2 + headers.size());
nva.push_back(http2::make_nv_ls(":status", status_code_str));
for (auto &kv : headers) {
......
......@@ -800,6 +800,7 @@ int HttpsUpstream::send_reply(Downstream *downstream, const uint8_t *body,
auto status_str =
http2::get_status_string(downstream->get_response_http_status());
output->append(status_str.c_str(), status_str.size());
output->append("\r\n");
for (auto &kv : downstream->get_response_headers()) {
if (kv.name.empty() || kv.name[0] == ':') {
......
......@@ -600,6 +600,10 @@ int SpdyUpstream::downstream_read(DownstreamConnection *dconn) {
if (rv == SHRPX_ERR_EOF) {
return downstream_eof(dconn);
}
if (rv == SHRPX_ERR_DCONN_CANCELED) {
downstream->pop_downstream_connection();
return 0;
}
if (rv != 0) {
if (rv != SHRPX_ERR_NETWORK) {
if (LOG_ENABLED(INFO)) {
......@@ -815,8 +819,9 @@ int SpdyUpstream::send_reply(Downstream *downstream, const uint8_t *body,
auto &headers = downstream->get_response_headers();
auto nva = std::vector<const char *>();
// 3 for :status, :version and server
auto nva = std::vector<const char *>(3 + headers.size());
nva.reserve(3 + headers.size());
nva.push_back(":status");
nva.push_back(status_string.c_str());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment