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 
14 namespace 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  */
21 typedef 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!
95 } MethodType;
96 
97 extern const SBuf MethodType_sb[];
98 
99 inline const SBuf &
101 {
102  return MethodType_sb[m];
103 }
104 
105 }; // namespace Http
106 
107 #endif /* SQUID_SRC_HTTP_METHODTYPE_H */
108 
@ METHOD_OTHER
Definition: MethodType.h:93
@ METHOD_VERSION_CONTROL
Definition: MethodType.h:43
@ METHOD_HEAD
Definition: MethodType.h:28
@ METHOD_UNLINK
Definition: MethodType.h:36
@ METHOD_ENUM_END
Definition: MethodType.h:94
@ METHOD_BASELINE_CONTROL
Definition: MethodType.h:48
Definition: SBuf.h:93
@ METHOD_MERGE
Definition: MethodType.h:47
_method_t
Definition: MethodType.h:21
@ METHOD_PRI
Definition: MethodType.h:89
Definition: forward.h:17
@ METHOD_OPTIONS
Definition: MethodType.h:31
@ METHOD_LABEL
Definition: MethodType.h:46
@ METHOD_COPY
Definition: MethodType.h:70
@ METHOD_CHECKIN
Definition: MethodType.h:40
@ METHOD_DELETE
Definition: MethodType.h:32
const SBuf MethodType_sb[]
Definition: stub_libhttp.cc:58
@ METHOD_CONNECT
Definition: MethodType.h:29
@ METHOD_POST
Definition: MethodType.h:26
@ METHOD_PUT
Definition: MethodType.h:27
@ METHOD_TRACE
Definition: MethodType.h:30
@ METHOD_MOVE
Definition: MethodType.h:71
@ METHOD_PROPPATCH
Definition: MethodType.h:68
@ METHOD_MKCOL
Definition: MethodType.h:69
enum Http::_method_t MethodType
@ METHOD_PURGE
Definition: MethodType.h:92
@ METHOD_SEARCH
Definition: MethodType.h:76
@ METHOD_UNCHECKOUT
Definition: MethodType.h:41
@ METHOD_MKACTIVITY
Definition: MethodType.h:49
@ METHOD_LOCK
Definition: MethodType.h:72
@ METHOD_NONE
Definition: MethodType.h:22
@ METHOD_PROPFIND
Definition: MethodType.h:67
@ METHOD_CHECKOUT
Definition: MethodType.h:39
@ METHOD_UPDATE
Definition: MethodType.h:45
@ METHOD_UNLOCK
Definition: MethodType.h:73
@ METHOD_MKWORKSPACE
Definition: MethodType.h:42
@ METHOD_REPORT
Definition: MethodType.h:44
@ METHOD_GET
Definition: MethodType.h:25
const SBuf & MethodStr(const MethodType m)
Definition: MethodType.h:100
@ METHOD_LINK
Definition: MethodType.h:35

 

Introduction

Documentation

Support

Miscellaneous