MethodType.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2020 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 #if NO_SPECIAL_HANDLING
35  // RFC 2068
36  METHOD_LINK,
37  METHOD_UNLINK,
38 #endif
39 
40  // RFC 3253
52 
53 #if NO_SPECIAL_HANDLING
54  // RFC 3648
55  METHOD_ORDERPATCH,
56 
57  // RFC 3744
58  METHOD_ACL,
59 
60  // RFC 4437
61  METHOD_MKREDIRECTREF,
62  METHOD_UPDATEREDIRECTREF,
63 
64  // RFC 4791
65  METHOD_MKCALENDAR,
66 #endif
67 
68  // RFC 4918 (WebDAV)
76 
77  // RFC 5323
79 
80 #if NO_SPECIAL_HANDLING
81  // RFC 5789
82  METHOD_PATCH,
83 
84  // RFC 5842
85  METHOD_BIND,
86  METHOD_REBIND,
87  METHOD_UNBIND,
88 #endif
89 
90  // RFC 7540
92 
93  // Squid extension methods
96  METHOD_ENUM_END // MUST be last, (yuck) this is used as an array-initialization index constant!
97 } MethodType;
98 
99 extern const SBuf MethodType_sb[];
100 
101 inline const SBuf &
103 {
104  return MethodType_sb[m];
105 }
106 
107 }; // namespace Http
108 
109 #endif /* SQUID_SRC_HTTP_METHODTYPE_H */
110 
@ METHOD_OTHER
Definition: MethodType.h:95
@ METHOD_VERSION_CONTROL
Definition: MethodType.h:45
@ METHOD_HEAD
Definition: MethodType.h:28
@ METHOD_ENUM_END
Definition: MethodType.h:96
@ METHOD_BASELINE_CONTROL
Definition: MethodType.h:50
Definition: SBuf.h:86
@ METHOD_MERGE
Definition: MethodType.h:49
_method_t
Definition: MethodType.h:21
@ METHOD_PRI
Definition: MethodType.h:91
Definition: forward.h:21
@ METHOD_OPTIONS
Definition: MethodType.h:31
@ METHOD_LABEL
Definition: MethodType.h:48
@ METHOD_COPY
Definition: MethodType.h:72
@ METHOD_CHECKIN
Definition: MethodType.h:42
@ 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:73
@ METHOD_PROPPATCH
Definition: MethodType.h:70
@ METHOD_MKCOL
Definition: MethodType.h:71
enum Http::_method_t MethodType
@ METHOD_PURGE
Definition: MethodType.h:94
@ METHOD_SEARCH
Definition: MethodType.h:78
@ METHOD_UNCHECKOUT
Definition: MethodType.h:43
@ METHOD_MKACTIVITY
Definition: MethodType.h:51
@ METHOD_LOCK
Definition: MethodType.h:74
@ METHOD_NONE
Definition: MethodType.h:22
@ METHOD_PROPFIND
Definition: MethodType.h:69
@ METHOD_CHECKOUT
Definition: MethodType.h:41
@ METHOD_UPDATE
Definition: MethodType.h:47
@ METHOD_UNLOCK
Definition: MethodType.h:75
@ METHOD_MKWORKSPACE
Definition: MethodType.h:44
@ METHOD_REPORT
Definition: MethodType.h:46
@ METHOD_GET
Definition: MethodType.h:25
const SBuf & MethodStr(const MethodType m)
Definition: MethodType.h:102

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors