blob: 0c67e60f5ec4be738e9f47b282c9641c64af6fc5 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This is the list of data reduction proxy bypass event types and their values.
// For the enum values, include the file
// "components/data_reduction_proxy/core/common/data_reduction_proxy_headers.h".
//
// Here we define the values using a macro BYPASS_EVENT_TYPE, so it can be
// expanded differently in some places (for example, to automatically
// map a bypass type value to its symbolic name). As such, new values must be
// appended and cannot be inserted in the middle as there are instances where
// we will load data between different builds.
// Bypass due to explicit instruction for the current request.
BYPASS_EVENT_TYPE(CURRENT, 0)
// Bypass the proxy for less than one minute.
BYPASS_EVENT_TYPE(SHORT, 1)
// Bypass the proxy for one to five minutes.
BYPASS_EVENT_TYPE(MEDIUM, 2)
// Bypass the proxy for more than five minutes.
BYPASS_EVENT_TYPE(LONG, 3)
// Bypass due to a 4xx missing via header.
BYPASS_EVENT_TYPE(MISSING_VIA_HEADER_4XX, 4)
// Bypass due to other missing via header, excluding 4xx errors.
BYPASS_EVENT_TYPE(MISSING_VIA_HEADER_OTHER, 5)
// Bypass due to 407 response from proxy without a challenge.
BYPASS_EVENT_TYPE(MALFORMED_407, 6)
// Bypass due to a 500 internal server error
BYPASS_EVENT_TYPE(STATUS_500_HTTP_INTERNAL_SERVER_ERROR, 7)
// Bypass because the request URI was too long.
BYPASS_EVENT_TYPE(STATUS_502_HTTP_BAD_GATEWAY, 8)
// Bypass due to a 503 response.
BYPASS_EVENT_TYPE(STATUS_503_HTTP_SERVICE_UNAVAILABLE, 9)
// Bypass due to any network error.
BYPASS_EVENT_TYPE(NETWORK_ERROR, 10)
// Bypass due to URL redirect cycle.
BYPASS_EVENT_TYPE(URL_REDIRECT_CYCLE, 11)
// This must always be last.
BYPASS_EVENT_TYPE(MAX, 12)