1 // HTTPRequest.hxx -- Wraps a http Request 2 // 3 // Written by Torsten Dreyer, started April 2014. 4 // 5 // Copyright (C) 2014 Torsten Dreyer 6 // 7 // This program is free software; you can redistribute it and/or 8 // modify it under the terms of the GNU General Public License as 9 // published by the Free Software Foundation; either version 2 of the 10 // License, or (at your option) any later version. 11 // 12 // This program is distributed in the hope that it will be useful, but 13 // WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 // General Public License for more details. 16 // 17 // You should have received a copy of the GNU General Public License 18 // along with this program; if not, write to the Free Software 19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 21 #ifndef FG_HTTPREQUEST_HXX 22 #define FG_HTTPREQUEST_HXX 23 24 #include <string> 25 #include <map> 26 27 namespace flightgear { 28 namespace http { 29 30 class HTTPRequest 31 { 32 public: HTTPRequest()33 HTTPRequest() {} ~HTTPRequest()34 virtual ~HTTPRequest() {} 35 36 std::string Method; 37 std::string Uri; 38 std::string HttpVersion; 39 std::string QueryString; 40 41 std::string remoteAddress; 42 int remotePort; 43 std::string localAddress; 44 int localPort; 45 46 std::string Content; 47 48 class StringMap : public std::map<std::string,std::string> { 49 public: get(const std::string & key) const50 std::string get( const std::string & key ) const { 51 const_iterator it = find( key ); 52 return it == end() ? "" : it->second; 53 } 54 }; 55 56 StringMap RequestVariables; 57 58 StringMap HeaderVariables; 59 60 }; 61 62 } 63 } // namespace flightgear 64 65 #endif // FG_HTTPREQUEST_HXX 66