MethodType.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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_METHODTYPE_H
10#define SQUID_SRC_HTTP_METHODTYPE_H
11
12#include "sbuf/SBuf.h"
13
14namespace Http
15{
16
17/*
18 * The IANA registry for HTTP status codes can be found at:
19 * http://www.iana.org/assignments/http-methods/http-methods.xhtml
20 */
21typedef enum _method_t {
23
24 // RFC 2616 (HTTP)
33
34 // RFC 2068
37
38 // RFC 3253
50
51#if NO_SPECIAL_HANDLING
52 // RFC 3648
53 METHOD_ORDERPATCH,
54
55 // RFC 3744
56 METHOD_ACL,
57
58 // RFC 4437
59 METHOD_MKREDIRECTREF,
60 METHOD_UPDATEREDIRECTREF,
61
62 // RFC 4791
63 METHOD_MKCALENDAR,
64#endif
65
66 // RFC 4918 (WebDAV)
74
75 // RFC 5323
77
78#if NO_SPECIAL_HANDLING
79 // RFC 5789
80 METHOD_PATCH,
81
82 // RFC 5842
83 METHOD_BIND,
84 METHOD_REBIND,
85 METHOD_UNBIND,
86#endif
87
88 // RFC 9113
90
91 // Squid extension methods
94 METHOD_ENUM_END // MUST be last, (yuck) this is used as an array-initialization index constant!
96
97extern const SBuf MethodType_sb[];
98
99inline const SBuf &
101{
102 return MethodType_sb[m];
103}
104
105}; // namespace Http
106
107#endif /* SQUID_SRC_HTTP_METHODTYPE_H */
108
Definition: SBuf.h:94
Definition: forward.h:18
enum Http::_method_t MethodType
const SBuf MethodType_sb[]
Definition: stub_libhttp.cc:58
const SBuf & MethodStr(const MethodType m)
Definition: MethodType.h:100
_method_t
Definition: MethodType.h:21
@ METHOD_TRACE
Definition: MethodType.h:30
@ METHOD_MKWORKSPACE
Definition: MethodType.h:42
@ METHOD_NONE
Definition: MethodType.h:22
@ METHOD_REPORT
Definition: MethodType.h:44
@ METHOD_MERGE
Definition: MethodType.h:47
@ METHOD_LABEL
Definition: MethodType.h:46
@ METHOD_OTHER
Definition: MethodType.h:93
@ METHOD_UPDATE
Definition: MethodType.h:45
@ METHOD_MOVE
Definition: MethodType.h:71
@ METHOD_SEARCH
Definition: MethodType.h:76
@ METHOD_CHECKOUT
Definition: MethodType.h:39
@ METHOD_LINK
Definition: MethodType.h:35
@ METHOD_PUT
Definition: MethodType.h:27
@ METHOD_MKCOL
Definition: MethodType.h:69
@ METHOD_UNLOCK
Definition: MethodType.h:73
@ METHOD_POST
Definition: MethodType.h:26
@ METHOD_CHECKIN
Definition: MethodType.h:40
@ METHOD_OPTIONS
Definition: MethodType.h:31
@ METHOD_UNLINK
Definition: MethodType.h:36
@ METHOD_PRI
Definition: MethodType.h:89
@ METHOD_CONNECT
Definition: MethodType.h:29
@ METHOD_PROPPATCH
Definition: MethodType.h:68
@ METHOD_MKACTIVITY
Definition: MethodType.h:49
@ METHOD_VERSION_CONTROL
Definition: MethodType.h:43
@ METHOD_ENUM_END
Definition: MethodType.h:94
@ METHOD_GET
Definition: MethodType.h:25
@ METHOD_PURGE
Definition: MethodType.h:92
@ METHOD_COPY
Definition: MethodType.h:70
@ METHOD_LOCK
Definition: MethodType.h:72
@ METHOD_DELETE
Definition: MethodType.h:32
@ METHOD_HEAD
Definition: MethodType.h:28
@ METHOD_PROPFIND
Definition: MethodType.h:67
@ METHOD_BASELINE_CONTROL
Definition: MethodType.h:48
@ METHOD_UNCHECKOUT
Definition: MethodType.h:41

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors