Browse Source

add is_i2p

pull/978/head
Jeff Becker 8 years ago committed by Jeff Becker
parent
commit
1500e805dd
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05
  1. 7
      libi2pd/HTTP.cpp
  2. 9
      libi2pd/HTTP.h

7
libi2pd/HTTP.cpp

@ -29,7 +29,7 @@ namespace http {
inline bool is_http_method(const std::string & str) { inline bool is_http_method(const std::string & str) {
return std::find(HTTP_METHODS.begin(), HTTP_METHODS.end(), str) != std::end(HTTP_METHODS); return std::find(HTTP_METHODS.begin(), HTTP_METHODS.end(), str) != std::end(HTTP_METHODS);
} }
void strsplit(const std::string & line, std::vector<std::string> &tokens, char delim, std::size_t limit = 0) { void strsplit(const std::string & line, std::vector<std::string> &tokens, char delim, std::size_t limit = 0) {
std::size_t count = 0; std::size_t count = 0;
std::stringstream ss(line); std::stringstream ss(line);
@ -195,6 +195,11 @@ namespace http {
return out; return out;
} }
bool URL::is_i2p() const
{
return host.rfind(".i2p") == ( host.size() - 4 );
}
void HTTPMsg::add_header(const char *name, std::string & value, bool replace) { void HTTPMsg::add_header(const char *name, std::string & value, bool replace) {
add_header(name, value.c_str(), replace); add_header(name, value.c_str(), replace);
} }

9
libi2pd/HTTP.h

@ -56,6 +56,11 @@ namespace http
* @note Returns relative url if schema if empty, absolute url otherwise * @note Returns relative url if schema if empty, absolute url otherwise
*/ */
std::string to_string (); std::string to_string ();
/**
* @brief return true if the host is inside i2p
*/
bool is_i2p() const;
}; };
struct HTTPMsg struct HTTPMsg
@ -89,7 +94,7 @@ namespace http
/** @brief Serialize HTTP request to string */ /** @brief Serialize HTTP request to string */
std::string to_string(); std::string to_string();
void write(std::ostream & o); void write(std::ostream & o);
void AddHeader (const std::string& name, const std::string& value); void AddHeader (const std::string& name, const std::string& value);
void UpdateHeader (const std::string& name, const std::string& value); void UpdateHeader (const std::string& name, const std::string& value);
@ -131,7 +136,7 @@ namespace http
std::string to_string(); std::string to_string();
void write(std::ostream & o); void write(std::ostream & o);
/** @brief Checks that response declared as chunked data */ /** @brief Checks that response declared as chunked data */
bool is_chunked() const ; bool is_chunked() const ;

Loading…
Cancel
Save