diff options
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 5be335bf..0348c52b 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -4735,13 +4735,24 @@ __attribute__ ((format (printf, 1, 2))) static void DestroyInstanceCallback(void* ctxt); static int PerformRequestCallback(void* ctxt, const char* url); + static int PerformCustomRequestCallback(void* ctxt, const char* method, const char* url, uint64_t headerCount, const char* const* headerKeys, const char* const* headerValues, BNDownloadInstanceResponse** response); + static void PerformFreeResponse(void* ctxt, BNDownloadInstanceResponse* response); virtual void DestroyInstance(); public: + struct Response + { + uint16_t statusCode; + std::unordered_map<std::string, std::string> headers; + }; + virtual int PerformRequest(const std::string& url) = 0; + virtual int PerformCustomRequest(const std::string& method, const std::string& url, const std::unordered_map<std::string, std::string>& headers, Response& response) = 0; int PerformRequest(const std::string& url, BNDownloadInstanceOutputCallbacks* callbacks); + int PerformCustomRequest(const std::string& method, const std::string& url, const std::unordered_map<std::string, std::string>& headers, Response& response, BNDownloadInstanceInputOutputCallbacks* callbacks); + uint64_t ReadDataCallback(uint8_t* data, uint64_t len); uint64_t WriteDataCallback(uint8_t* data, uint64_t len); bool NotifyProgressCallback(uint64_t progress, uint64_t total); void SetError(const std::string& error); @@ -4755,6 +4766,7 @@ __attribute__ ((format (printf, 1, 2))) virtual ~CoreDownloadInstance() {}; virtual int PerformRequest(const std::string& url) override; + virtual int PerformCustomRequest(const std::string& method, const std::string& url, const std::unordered_map<std::string, std::string>& headers, DownloadInstance::Response& response) override; }; class DownloadProvider: public StaticCoreRefCountObject<BNDownloadProvider> |
