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);