diff --git a/include/frnetlib/Http.h b/include/frnetlib/Http.h index 8838677..09a3299 100644 --- a/include/frnetlib/Http.h +++ b/include/frnetlib/Http.h @@ -83,10 +83,13 @@ namespace fr }; Http(); - Http(Http &&) noexcept; - Http(const Http &); + Http(Http&&)=default; + Http(const Http&)= default; + Http &operator=(const Http &)=default; + Http &operator=(Http &&)=default; virtual ~Http() = default; + /*! * Parse a raw request or response from a string * into the object. diff --git a/include/frnetlib/HttpRequest.h b/include/frnetlib/HttpRequest.h index 9568e80..81a8b52 100644 --- a/include/frnetlib/HttpRequest.h +++ b/include/frnetlib/HttpRequest.h @@ -17,14 +17,10 @@ namespace fr public: //Constructors HttpRequest(); - HttpRequest(HttpRequest &&other)=default; - HttpRequest &operator=(const HttpRequest &other) - { - header_ended = other.header_ended; - last_parsed_character = other.last_parsed_character; - content_length = other.content_length; - return *this; - } + HttpRequest(HttpRequest&&)=default; + HttpRequest(const HttpRequest&)= default; + HttpRequest &operator=(const HttpRequest &)=default; + HttpRequest &operator=(HttpRequest &&)=default; virtual ~HttpRequest() = default; /*! diff --git a/include/frnetlib/HttpResponse.h b/include/frnetlib/HttpResponse.h index fe2dc1e..172ae72 100644 --- a/include/frnetlib/HttpResponse.h +++ b/include/frnetlib/HttpResponse.h @@ -16,9 +16,11 @@ namespace fr { public: //Constructors - HttpResponse() - : header_ended(false), - content_length(0){} + HttpResponse()=default; + HttpResponse(HttpResponse&&)=default; + HttpResponse(const HttpResponse&)= default; + HttpResponse &operator=(const HttpResponse &)=default; + HttpResponse &operator=(HttpResponse &&)=default; virtual ~HttpResponse() = default; /*! @@ -46,8 +48,8 @@ namespace fr bool parse_header(size_t header_end_pos); //State - bool header_ended; - size_t content_length; + bool header_ended{false}; + size_t content_length{0}; }; } diff --git a/src/Http.cpp b/src/Http.cpp index d5c7e85..2f35733 100644 --- a/src/Http.cpp +++ b/src/Http.cpp @@ -19,29 +19,6 @@ namespace fr } - Http::Http(Http &&o) noexcept - : header_data(std::move(o.header_data)), - post_data(std::move(o.post_data)), - get_data(std::move(o.get_data)), - body(std::move(o.body)), - request_type(o.request_type), - uri(std::move(o.uri)), - status(o.status) - { - } - - Http::Http(const Http &o) - : header_data(o.header_data), - post_data(o.post_data), - get_data(o.get_data), - body(o.body), - request_type(o.request_type), - uri(o.uri), - status(o.status) - { - - } - Http::RequestType Http::get_type() const { return request_type; @@ -210,7 +187,10 @@ namespace fr and_pos = str.find('&', read_index); if(and_pos == std::string::npos) { - list.emplace_back(str.substr(read_index, equal_pos - read_index), str.substr(equal_pos + 1, str.size() - equal_pos - 1)); + size_t str_size = str.size(); + while(str[str_size - 1] == '\n' || str[str_size - 1] == '\r') + --str_size; + list.emplace_back(str.substr(read_index, equal_pos - read_index), str.substr(equal_pos + 1, str_size - equal_pos - 1)); break; }