17 #ifndef HTTPDATAPROCESSOR_HPP_
18 #define HTTPDATAPROCESSOR_HPP_
22 #if defined(KAA_DEFAULT_BOOTSTRAP_HTTP_CHANNEL) || \
23 defined(KAA_DEFAULT_OPERATION_HTTP_CHANNEL) || \
24 defined(KAA_DEFAULT_LONG_POLL_CHANNEL)
32 #include "kaa/gen/BootstrapGen.hpp"
33 #include "kaa/gen/EndpointGen.hpp"
38 #include <boost/noncopyable.hpp>
39 #include <botan/base64.h>
43 class HttpDataProcessor : boost::noncopyable {
45 HttpDataProcessor(
const Botan::MemoryVector<std::uint8_t>& pubKey,
46 const std::string& privKey,
47 const Botan::MemoryVector<std::uint8_t>& remoteKey) :
48 encDec_(new RsaEncoderDecoder(pubKey, privKey, remoteKey)) { }
49 HttpDataProcessor() { }
50 ~HttpDataProcessor() { }
52 std::shared_ptr<IHttpRequest> createOperationRequest(
const HttpUrl& url,
const std::vector<std::uint8_t>& data);
53 std::string retrieveOperationResponse(
const IHttpResponse& response);
55 std::shared_ptr<IHttpRequest> createBootstrapRequest(
const HttpUrl& url,
const std::vector<std::uint8_t>& data);
56 std::string retrieveBootstrapResponse(
const IHttpResponse& response);
58 void setEncoderDecoder(std::shared_ptr<IEncoderDecoder> encoderDecoder) { encDec_ = encoderDecoder; }
61 void verifyResponse(
const IHttpResponse& response);
64 std::shared_ptr<IEncoderDecoder> encDec_;
68 typedef std::shared_ptr<HttpDataProcessor> HttpDataProcessorPtr;