From 8ec36d19fd206ee699135700903ccdee81bcaf27 Mon Sep 17 00:00:00 2001 From: eidheim Date: Fri, 23 Jun 2017 07:00:16 +0200 Subject: [PATCH] Changed some parameters from std::iostream to std::istream in Client and Server --- client_http.hpp | 12 ++++++------ server_http.hpp | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/client_http.hpp b/client_http.hpp index 9a7d981..fc3a057 100644 --- a/client_http.hpp +++ b/client_http.hpp @@ -145,7 +145,7 @@ namespace SimpleWeb { /// Convenience function to perform synchronous request. The io_service is run within this function. /// If reusing the io_service for other tasks, please use the asynchronous request functions instead. - std::shared_ptr request(const std::string& method, const std::string& path, std::iostream& content, const CaseInsensitiveMultimap& header=CaseInsensitiveMultimap()) { + std::shared_ptr request(const std::string& method, const std::string& path, std::istream& content, const CaseInsensitiveMultimap& header=CaseInsensitiveMultimap()) { std::shared_ptr response; request(method, path, content, header, [&response](std::shared_ptr response_, const error_code &ec) { response=response_; @@ -201,7 +201,7 @@ namespace SimpleWeb { } /// Asynchronous request where setting and/or running Client's io_service is required. - void request(const std::string &method, const std::string &path, std::iostream& content, const CaseInsensitiveMultimap& header, + void request(const std::string &method, const std::string &path, std::istream& content, const CaseInsensitiveMultimap& header, std::function, const error_code&)> &&request_callback_) { auto session=std::make_shared(io_service, get_connection(), create_request_header(method, path, header)); auto request_callback=std::make_shared, const error_code&)>>(std::move(request_callback_)); @@ -216,9 +216,9 @@ namespace SimpleWeb { (*request_callback)(session->response, ec); }; - content.seekp(0, std::ios::end); - auto content_length=content.tellp(); - content.seekp(0, std::ios::beg); + content.seekg(0, std::ios::end); + auto content_length=content.tellg(); + content.seekg(0, std::ios::beg); std::ostream write_stream(session->request_buffer.get()); if(content_length>0) write_stream << "Content-Length: " << content_length << "\r\n"; @@ -230,7 +230,7 @@ namespace SimpleWeb { } /// Asynchronous request where setting and/or running Client's io_service is required. - void request(const std::string &method, const std::string &path, std::iostream& content, + void request(const std::string &method, const std::string &path, std::istream& content, std::function, const error_code&)> &&request_callback) { request(method, path, content, CaseInsensitiveMultimap(), std::move(request_callback)); } diff --git a/server_http.hpp b/server_http.hpp index ca21364..e4f5ef6 100644 --- a/server_http.hpp +++ b/server_http.hpp @@ -94,11 +94,11 @@ namespace SimpleWeb { } /// Convenience function for writing status line, header fields, and content - void write(StatusCode status_code, std::iostream &content, const CaseInsensitiveMultimap &header=CaseInsensitiveMultimap()) { + void write(StatusCode status_code, std::istream &content, const CaseInsensitiveMultimap &header=CaseInsensitiveMultimap()) { *this << "HTTP/1.1 " << SimpleWeb::status_code(status_code) << "\r\n"; - content.seekp(0, std::ios::end); - auto size=content.tellp(); - content.seekp(0, std::ios::beg); + content.seekg(0, std::ios::end); + auto size=content.tellg(); + content.seekg(0, std::ios::beg); write_header(header, size); if(size) *this << content.rdbuf(); @@ -110,7 +110,7 @@ namespace SimpleWeb { } /// Convenience function for writing success status line, header fields, and content - void write(std::iostream &content, const CaseInsensitiveMultimap &header=CaseInsensitiveMultimap()) { + void write(std::istream &content, const CaseInsensitiveMultimap &header=CaseInsensitiveMultimap()) { write(StatusCode::success_ok, content, header); }