00001 /** 00002 Licensed to the Apache Software Foundation (ASF) under one 00003 or more contributor license agreements. See the NOTICE file 00004 distributed with this work for additional information 00005 regarding copyright ownership. The ASF licenses this file 00006 to you under the Apache License, Version 2.0 (the 00007 "License"); you may not use this file except in compliance 00008 with the License. You may obtain a copy of the License at 00009 00010 http://www.apache.org/licenses/LICENSE-2.0 00011 00012 Unless required by applicable law or agreed to in writing, software 00013 distributed under the License is distributed on an "AS IS" BASIS, 00014 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 See the License for the specific language governing permissions and 00016 limitations under the License. 00017 */ 00018 00019 /** 00020 * @file HttpMethod.h 00021 * @brief Contains an enumeration and printable strings for Http Methods. 00022 */ 00023 #pragma once 00024 #ifndef ATSCPPAPI_HTTP_METHOD_H_ 00025 #define ATSCPPAPI_HTTP_METHOD_H_ 00026 00027 #include <string> 00028 00029 namespace atscppapi { 00030 00031 /** 00032 * An enumeration of all available Http Methods. 00033 */ 00034 enum HttpMethod { 00035 HTTP_METHOD_UNKNOWN = 0, 00036 HTTP_METHOD_GET, 00037 HTTP_METHOD_POST, 00038 HTTP_METHOD_HEAD, 00039 HTTP_METHOD_CONNECT, 00040 HTTP_METHOD_DELETE, 00041 HTTP_METHOD_ICP_QUERY, 00042 HTTP_METHOD_OPTIONS, 00043 HTTP_METHOD_PURGE, 00044 HTTP_METHOD_PUT, 00045 HTTP_METHOD_TRACE, 00046 HTTP_METHOD_PUSH 00047 }; 00048 00049 /** 00050 * An array of printable strings representing of the HttpMethod 00051 * \code 00052 * cout << HTTP_METHOD_STRINGS[HTTP_METHOD_GET] << endl; 00053 * \endcode 00054 */ 00055 extern const std::string HTTP_METHOD_STRINGS[]; 00056 00057 } 00058 00059 #endif