Squid Web Cache master
Loading...
Searching...
No Matches
StatusCode.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#ifndef SQUID_SRC_HTTP_STATUSCODE_H
10#define SQUID_SRC_HTTP_STATUSCODE_H
11
12namespace Http
13{
14
20typedef enum {
21 scNone = 0,
27 scOkay = 200,
28 scCreated = 201,
36 scImUsed = 226,
39 scFound = 302,
55 scGone = 410,
65 scLocked = 423,
84
85 // The 6xx codes below are for internal use only: Bad requests result
86 // in scBadRequest; bad responses in scGatewayTimeout.
87
89 scHeaderTooLarge = 601
91
92const char *StatusCodeString(const Http::StatusCode status);
94inline bool Is1xx(const int sc) { return scContinue <= sc && sc < scOkay; }
96inline bool Is4xx(const int sc) { return scBadRequest <= sc && sc < scInternalServerError; }
98inline bool ProhibitsContentLength(const StatusCode sc) { return sc == scNoContent || Is1xx(sc); }
101
102} // namespace Http
103
104#endif /* SQUID_SRC_HTTP_STATUSCODE_H */
105
Definition forward.h:18
bool ProhibitsContentLength(const StatusCode sc)
whether this response status code prohibits sending Content-Length
Definition StatusCode.h:98
bool Is1xx(const int sc)
whether this is an informational 1xx response status code
Definition StatusCode.h:94
StatusCode
Definition StatusCode.h:20
@ scAccepted
Definition StatusCode.h:29
@ scProcessing
Definition StatusCode.h:24
@ scVariantAlsoNegotiates
Definition StatusCode.h:79
@ scInsufficientStorage
Definition StatusCode.h:80
@ scNetworkAuthenticationRequired
Definition StatusCode.h:83
@ scUriTooLong
Definition StatusCode.h:59
@ scImUsed
Definition StatusCode.h:36
@ scGone
Definition StatusCode.h:55
@ scGatewayTimeout
Definition StatusCode.h:77
@ scNotAcceptable
Definition StatusCode.h:51
@ scHeaderTooLarge
Header too large to process.
Definition StatusCode.h:89
@ scLocked
Definition StatusCode.h:65
@ scUseProxy
Definition StatusCode.h:42
@ scTooManyRequests
Definition StatusCode.h:70
@ scNotExtended
Definition StatusCode.h:82
@ scForbidden
Definition StatusCode.h:48
@ scResetContent
Definition StatusCode.h:32
@ scUnauthorized
Definition StatusCode.h:46
@ scNotImplemented
Definition StatusCode.h:74
@ scUploadResumptionSupported
Definition StatusCode.h:26
@ scUnsupportedMediaType
Definition StatusCode.h:60
@ scUnprocessableEntity
Definition StatusCode.h:64
@ scFound
Definition StatusCode.h:39
@ scMultipleChoices
Definition StatusCode.h:37
@ scInternalServerError
Definition StatusCode.h:73
@ scHttpVersionNotSupported
Definition StatusCode.h:78
@ scBadRequest
Definition StatusCode.h:45
@ scAlreadyReported
Definition StatusCode.h:35
@ scCreated
Definition StatusCode.h:28
@ scInvalidHeader
Squid header parsing error.
Definition StatusCode.h:88
@ scConflict
Definition StatusCode.h:54
@ scFailedDependency
Definition StatusCode.h:66
@ scExpectationFailed
Definition StatusCode.h:62
@ scMultiStatus
Definition StatusCode.h:34
@ scNotFound
Definition StatusCode.h:49
@ scMethodNotAllowed
Definition StatusCode.h:50
@ scPermanentRedirect
Definition StatusCode.h:44
@ scTooEarly
Definition StatusCode.h:67
@ scSeeOther
Definition StatusCode.h:40
@ scRequestTimeout
Definition StatusCode.h:53
@ scProxyAuthenticationRequired
Definition StatusCode.h:52
@ scPaymentRequired
Definition StatusCode.h:47
@ scNone
Definition StatusCode.h:21
@ scLengthRequired
Definition StatusCode.h:56
@ scNotModified
Definition StatusCode.h:41
@ scOkay
Definition StatusCode.h:27
@ scTemporaryRedirect
Definition StatusCode.h:43
@ scContinue
Definition StatusCode.h:22
@ scNoContent
Definition StatusCode.h:31
@ scUnavailableForLegalReasons
Definition StatusCode.h:72
@ scRequestedRangeNotSatisfied
Definition StatusCode.h:61
@ scPreconditionRequired
Definition StatusCode.h:69
@ scSwitchingProtocols
Definition StatusCode.h:23
@ scEarlyHints
Definition StatusCode.h:25
@ scMovedPermanently
Definition StatusCode.h:38
@ scNonAuthoritativeInformation
Definition StatusCode.h:30
@ scPreconditionFailed
Definition StatusCode.h:57
@ scBadGateway
Definition StatusCode.h:75
@ scUpgradeRequired
Definition StatusCode.h:68
@ scMisdirectedRequest
Definition StatusCode.h:63
@ scLoopDetected
Definition StatusCode.h:81
@ scContentTooLarge
Definition StatusCode.h:58
@ scRequestHeaderFieldsTooLarge
Definition StatusCode.h:71
@ scPartialContent
Definition StatusCode.h:33
@ scServiceUnavailable
Definition StatusCode.h:76
bool IsReforwardableStatus(StatusCode)
whether to send the request to another peer based on the current response status code
bool Is4xx(const int sc)
whether this is a client error 4xx response status code
Definition StatusCode.h:96
const char * StatusCodeString(const Http::StatusCode status)
Definition StatusCode.cc:15