Browse Source

cleanup: correctly set string

master
Jørgen Lien Sellæg 10 years ago
parent
commit
ffd5f82954
  1. 5
      toREST/include/http.hpp

5
toREST/include/http.hpp

@ -40,15 +40,16 @@ public:
virtual ~basic_response(){} virtual ~basic_response(){}
virtual void add_header(const http::header &header)=0; virtual void add_header(const http::header &header)=0;
virtual void set_status(http::status code)=0; virtual void set_status(http::status code)=0;
virtual void set_body(const std::string &content)=0;
friend std::ostream& operator<<(std::ostream& os,const http::basic_response &rh){ return rh.do_response(os); } friend std::ostream& operator<<(std::ostream& os,const http::basic_response &rh){ return rh.do_response(os); }
}; };
class response : public basic_response { class response : public basic_response {
public: public:
response():status_code(http::http_code(http::ok)){} response():status_code(http::http_code(http::ok)){}
void set_body(const std::string &content) override { body=content; }
void add_header(const http::header &header) override { response_headers.emplace(header); } void add_header(const http::header &header) override { response_headers.emplace(header); }
void set_status(http::status code) override { status_code=http_code(code); } void set_status(http::status code) override { status_code=http_code(code); }
void set_body(std::string content) { body=content; }
protected: protected:
std::ostream& do_response(std::ostream &os) const override { std::ostream& do_response(std::ostream &os) const override {
os << "HTTP/1.1" << " " << status_code.first << " " << status_code.second << "\r\n"; os << "HTTP/1.1" << " " << status_code.first << " " << status_code.second << "\r\n";
@ -87,6 +88,6 @@ public:
} }
void set_body(nlohmann::json json){ response::set_body(json.dump()); } void set_body(nlohmann::json json){ response::set_body(json.dump()); }
}; };
};;; };
#endif // _TOREST_HTTP_HPP_ #endif // _TOREST_HTTP_HPP_

Loading…
Cancel
Save