#pragma once
#include <cstddef>
#include <memory>
#include "../interfaces.h"
namespace whiteout::utils {
class SimpleHttpHandler : public interfaces::HttpHandler {
public:
explicit SimpleHttpHandler(size_t nThreads = 4);
~SimpleHttpHandler() override;
SimpleHttpHandler(const SimpleHttpHandler&) = delete;
SimpleHttpHandler& operator=(const SimpleHttpHandler&) = delete;
u32 capabilities() const noexcept override;
void getAsync(const std::string& url, interfaces::HttpCallback callback) override;
void getRangeAsync(const std::string& url, u64 start, u64 end,
interfaces::HttpCallback callback) override;
private:
struct Impl;
std::unique_ptr<Impl> m_impl;
};
}