winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

TestRestRequestHandler.h (1354B)


      1 // Copyright (c) Microsoft Corporation.
      2 // Licensed under the MIT License.
      3 #pragma once
      4 #include <cpprest/http_client.h>
      5 
      6 class TestRestRequestHandler : public web::http::http_pipeline_stage
      7 {
      8 public:
      9     TestRestRequestHandler(const std::function<pplx::task<web::http::http_response>(web::http::http_request request)>& handler) : m_handler(handler) {}
     10 
     11     virtual pplx::task<web::http::http_response> propagate(web::http::http_request request)
     12     {
     13         return m_handler(request);
     14     }
     15 
     16 private:
     17     std::function<pplx::task<web::http::http_response>(web::http::http_request request)> m_handler;
     18 };
     19 
     20 std::shared_ptr<TestRestRequestHandler> GetTestRestRequestHandler(
     21     const web::http::status_code statusCode, const utility::string_t& sampleResponseString = {}, const utility::string_t& mimeType = web::http::details::mime_types::application_json);
     22 
     23 std::shared_ptr<TestRestRequestHandler> GetTestRestRequestHandler(
     24     std::function<web::http::status_code(const web::http::http_request& request)> handler);
     25 
     26 std::shared_ptr<TestRestRequestHandler> GetHeaderVerificationHandler(
     27     const web::http::status_code statusCode, const utility::string_t& sampleResponseString, const std::pair<utility::string_t, utility::string_t>& header, web::http::status_code statusCodeOnFailure = web::http::status_codes::BadRequest);