Support move semantics for Response::set_content() (#1764)
This commit is contained in:
parent
449801990f
commit
44b3fe6277
10
httplib.h
10
httplib.h
@ -596,6 +596,7 @@ struct Response {
|
|||||||
void set_redirect(const std::string &url, int status = StatusCode::Found_302);
|
void set_redirect(const std::string &url, int status = StatusCode::Found_302);
|
||||||
void set_content(const char *s, size_t n, const std::string &content_type);
|
void set_content(const char *s, size_t n, const std::string &content_type);
|
||||||
void set_content(const std::string &s, const std::string &content_type);
|
void set_content(const std::string &s, const std::string &content_type);
|
||||||
|
void set_content(std::string &&s, const std::string &content_type);
|
||||||
|
|
||||||
void set_content_provider(
|
void set_content_provider(
|
||||||
size_t length, const std::string &content_type, ContentProvider provider,
|
size_t length, const std::string &content_type, ContentProvider provider,
|
||||||
@ -5350,6 +5351,15 @@ inline void Response::set_content(const std::string &s,
|
|||||||
set_content(s.data(), s.size(), content_type);
|
set_content(s.data(), s.size(), content_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void Response::set_content(std::string &&s,
|
||||||
|
const std::string &content_type) {
|
||||||
|
body = std::move(s);
|
||||||
|
|
||||||
|
auto rng = headers.equal_range("Content-Type");
|
||||||
|
headers.erase(rng.first, rng.second);
|
||||||
|
set_header("Content-Type", content_type);
|
||||||
|
}
|
||||||
|
|
||||||
inline void Response::set_content_provider(
|
inline void Response::set_content_provider(
|
||||||
size_t in_length, const std::string &content_type, ContentProvider provider,
|
size_t in_length, const std::string &content_type, ContentProvider provider,
|
||||||
ContentProviderResourceReleaser resource_releaser) {
|
ContentProviderResourceReleaser resource_releaser) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user