00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <Inventor/sys/port.h>
00024 #include <RemoteViz/Rendering/LibHelper.h>
00025
00026 #include <memory>
00027 #include <string>
00028
00029 namespace RemoteViz
00030 {
00031 namespace Rendering
00032 {
00033 class HTTPRequestImpl;
00034 class HTTPHeaders;
00035 class Uri;
00036
00048 class RENDERSERVICE_API HTTPRequest
00049 {
00050 public:
00051
00055 HTTPRequest();
00056
00060 HTTPRequest(const std::string& method, const std::string& uri, int versionMajor, int versionMinor);
00061
00065 HTTPRequest(const std::string& method, const std::string& uri, int versionMajor, int versionMinor, const HTTPHeaders& headers);
00066
00070 HTTPRequest(const HTTPRequest& obj);
00071
00075 HTTPRequest& operator=(const HTTPRequest& obj);
00076
00080 ~HTTPRequest();
00081
00085 const Uri& getURI() const;
00086
00090 const std::string& getMethod() const;
00091
00093
00096 const std::string& getVersion() const;
00097
00102 int getVersionMajor() const;
00103
00108 int getVersionMinor() const;
00110
00112
00116 int64_t getContentLength() const;
00117
00121 const std::string& getContentType() const;
00122
00126 const std::string& getHost() const;
00127
00131 const HTTPHeaders& getHeaders() const;
00133
00134 private:
00137 std::shared_ptr<HTTPRequestImpl> getImpl() const;
00140 private:
00142 std::shared_ptr<HTTPRequestImpl> pImpl;
00143 };
00144
00145 }
00146 }
00147