nghttpx: Use omit minor version in case of HTTP/2 in via header and accesslog

This commit is contained in:
Tatsuhiro Tsujikawa 2015-02-24 14:43:01 +09:00
parent 814c7e68e0
commit c98cf045d6
4 changed files with 12 additions and 8 deletions

View File

@ -349,7 +349,7 @@ func TestH1H2GenerateVia(t *testing.T) {
if err != nil {
t.Fatalf("Error st.http1() = %v", err)
}
if got, want := res.header.Get("Via"), "2.0 nghttpx"; got != want {
if got, want := res.header.Get("Via"), "2 nghttpx"; got != want {
t.Errorf("Via: %v; want %v", got, want)
}
}
@ -374,7 +374,7 @@ func TestH1H2AppendVia(t *testing.T) {
if err != nil {
t.Fatalf("Error st.http1() = %v", err)
}
if got, want := res.header.Get("Via"), "bar, 2.0 nghttpx"; got != want {
if got, want := res.header.Get("Via"), "bar, 2 nghttpx"; got != want {
t.Errorf("Via: %v; want %v", got, want)
}
}

View File

@ -125,7 +125,7 @@ func TestH2H1StripAddXff(t *testing.T) {
// from backend server.
func TestH2H1GenerateVia(t *testing.T) {
st := newServerTester(nil, t, func(w http.ResponseWriter, r *http.Request) {
if got, want := r.Header.Get("Via"), "2.0 nghttpx"; got != want {
if got, want := r.Header.Get("Via"), "2 nghttpx"; got != want {
t.Errorf("Via: %v; want %v", got, want)
}
})
@ -146,7 +146,7 @@ func TestH2H1GenerateVia(t *testing.T) {
// header field to and from backend server.
func TestH2H1AppendVia(t *testing.T) {
st := newServerTester(nil, t, func(w http.ResponseWriter, r *http.Request) {
if got, want := r.Header.Get("Via"), "foo, 2.0 nghttpx"; got != want {
if got, want := r.Header.Get("Via"), "foo, 2 nghttpx"; got != want {
t.Errorf("Via: %v; want %v", got, want)
}
w.Header().Add("Via", "bar")

View File

@ -55,8 +55,10 @@ std::string create_error_html(unsigned int status_code) {
std::string create_via_header_value(int major, int minor) {
std::string hdrs;
hdrs += static_cast<char>(major + '0');
hdrs += ".";
hdrs += static_cast<char>(minor + '0');
if (major < 2) {
hdrs += ".";
hdrs += static_cast<char>(minor + '0');
}
hdrs += " nghttpx";
return hdrs;
}

View File

@ -197,8 +197,10 @@ void upstream_accesslog(const std::vector<LogFragment> &lfv, LogSpec *lgsp) {
std::tie(p, avail) = copy(lgsp->path, avail, p);
std::tie(p, avail) = copy(" HTTP/", avail, p);
std::tie(p, avail) = copy(util::utos(lgsp->major).c_str(), avail, p);
std::tie(p, avail) = copy(".", avail, p);
std::tie(p, avail) = copy(util::utos(lgsp->minor).c_str(), avail, p);
if (lgsp->major < 2) {
std::tie(p, avail) = copy(".", avail, p);
std::tie(p, avail) = copy(util::utos(lgsp->minor).c_str(), avail, p);
}
break;
case SHRPX_LOGF_STATUS:
std::tie(p, avail) = copy(util::utos(lgsp->status).c_str(), avail, p);