diff --git a/cmd/traffic_via/traffic_via.cc b/cmd/traffic_via/traffic_via.cc index 82b9ad3c34e..c816f5a2d20 100644 --- a/cmd/traffic_via/traffic_via.cc +++ b/cmd/traffic_via/traffic_via.cc @@ -176,6 +176,7 @@ standardViaLookup(char flag) viaTable->viaData[(unsigned char)'N'] = "no error"; viaTable->viaData[(unsigned char)'F'] = "request forbidden"; viaTable->viaData[(unsigned char)'R'] = "cache read error"; + viaTable->viaData[(unsigned char)'M'] = "moved temporarily"; viaTable->viaData[(unsigned char)' '] = "unknown"; break; default: diff --git a/doc/appendices/faq.en.rst b/doc/appendices/faq.en.rst index d8646c56b3d..4951403d5e4 100644 --- a/doc/appendices/faq.en.rst +++ b/doc/appendices/faq.en.rst @@ -229,6 +229,7 @@ F request forbidden H header syntax unacceptable N no error R cache read error +M moved temporarily S server related error T connection timed out ===== ========================== diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index 867ad2a8b3c..aa3f143a4f0 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -8135,7 +8135,7 @@ HttpTransact::build_error_response(State *s, HTTPStatus status_code, const char SET_VIA_STRING(VIA_ERROR_TYPE, VIA_ERROR_DNS_FAILURE); break; case HTTP_STATUS_MOVED_TEMPORARILY: - SET_VIA_STRING(VIA_ERROR_TYPE, VIA_ERROR_SERVER); + SET_VIA_STRING(VIA_ERROR_TYPE, VIA_ERROR_MOVED_TEMPORARILY); break; case HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: SET_VIA_STRING(VIA_CLIENT_REQUEST, VIA_CLIENT_ERROR); diff --git a/proxy/http/HttpTransact.h b/proxy/http/HttpTransact.h index 517322903f0..ad9aceac65d 100644 --- a/proxy/http/HttpTransact.h +++ b/proxy/http/HttpTransact.h @@ -183,6 +183,7 @@ enum ViaString_t { VIA_ERROR_SERVER = 'S', VIA_ERROR_TIMEOUT = 'T', VIA_ERROR_CACHE_READ = 'R', + VIA_ERROR_MOVED_TEMPORARILY = 'M', // // Now the detailed stuff // diff --git a/proxy/http/README.via b/proxy/http/README.via index c5c954fc322..04c4a81e5d0 100644 --- a/proxy/http/README.via +++ b/proxy/http/README.via @@ -12,6 +12,7 @@ A in cache, not acceptable S in cache, stale H in cache, fresh + R in cache, fresh RAM hit server stuff E error in response @@ -35,6 +36,8 @@ D dns failure F request forbidden H header syntax unacceptable + M moved temporarily + R cache read error S server related error T connection timed out