forked from microsoft/winget-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestRestRequestHandler.h
More file actions
27 lines (21 loc) · 1.32 KB
/
Copy pathTestRestRequestHandler.h
File metadata and controls
27 lines (21 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#pragma once
#include <cpprest/http_client.h>
class TestRestRequestHandler : public web::http::http_pipeline_stage
{
public:
TestRestRequestHandler(const std::function<pplx::task<web::http::http_response>(web::http::http_request request)>& handler) : m_handler(handler) {}
virtual pplx::task<web::http::http_response> propagate(web::http::http_request request)
{
return m_handler(request);
}
private:
std::function<pplx::task<web::http::http_response>(web::http::http_request request)> m_handler;
};
std::shared_ptr<TestRestRequestHandler> GetTestRestRequestHandler(
const web::http::status_code statusCode, const utility::string_t& sampleResponseString = {}, const utility::string_t& mimeType = web::http::details::mime_types::application_json);
std::shared_ptr<TestRestRequestHandler> GetTestRestRequestHandler(
std::function<web::http::status_code(const web::http::http_request& request)> handler);
std::shared_ptr<TestRestRequestHandler> GetHeaderVerificationHandler(
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);