A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/http__request_8cpp_source.html below:

NCBI C++ ToolKit: src/app/pubseq_gateway/server/http_request.cpp Source File

48  const char

* pch = what;

49  const char

* end = what +

len

;

51  char

* dest_end =

buf

+ buf_size;

59  if

(pch >= end - 1 || dest >= dest_end)

64  if

(ch >=

'0'

&& ch <=

'9'

)

66  else if

(ch >=

'A'

&& ch <=

'F'

)

67

v = (ch -

'A'

+ 10) * 16;

68  else if

(ch >=

'a'

&& ch <=

'f'

)

69

v = (ch -

'a'

+ 10) * 16;

74  if

(ch >=

'0'

&& ch <=

'9'

)

76  else if

(ch >=

'A'

&& ch <=

'F'

)

78  else if

(ch >=

'a'

&& ch <=

'f'

)

111  char

*

buf

=

nullptr

;

118  const char

* end = Data + Length;

124  bool

is_name =

true

;

125  bool

param_finished =

false

;

129  const char

* c_begin = ch;

130

has_encodings =

false

;

136

has_encodings =

true

;

144

param_finished =

true

;

155  if

(!has_encodings) {

161

prm->

m_Val

=

nullptr

;

164

prm->

m_Val

= c_begin;

175

prm->

m_Val

=

nullptr

;

194  if

(param_finished) {

195

param_finished =

false

;

210  if

(h2o_memis(

m_Req

->method.base,

m_Req

->method.len,

213

H2O_TOKEN_CONTENT_TYPE, -1);

218  m_Req

->headers.entries[cursor].value.len))

220

}

else if

(h2o_memis(

m_Req

->method.base,

m_Req

->method.len,

225  char

* begin = &

m_Req

->path.base[

m_Req

->query_at];

226  const char

* end = &

m_Req

->path.base[

m_Req

->path.len];

233  const char

**

value

,

size_t

* value_len)

257

vector<string> & values)

266

values.push_back(

string

(

m_Params

[

i

].m_Val,

289  struct

sockaddr sock_addr;

290  if

(

m_Req

->conn->callbacks->get_peername(

m_Req

->conn, &sock_addr) != 0) {

291  auto

port =

GetPort

(&sock_addr);

298  if

(!peer_ip.empty()) {

312  for

(

size_t

index = 0; index <

m_Req

->headers.size; ++index) {

313  string

name(

m_Req

->headers.entries[index].name->base,

314  m_Req

->headers.entries[index].name->len);

318  m_Req

->headers.entries[index].value.len);

328  size_t

name_size = name.size();

330  for

(

size_t

index = 0; index <

m_Req

->headers.size; ++index) {

331  if

(

m_Req

->headers.entries[index].name->len == name_size) {

333

name.data(), name_size) == 0) {

334  value

.assign(

m_Req

->headers.entries[index].value.base,

335  m_Req

->headers.entries[index].value.len);

364

optional<string> ret;

366  for

(

size_t

index = 0; index <

m_Req

->headers.size; ++index) {

372  m_Req

->headers.entries[index].value.len));

375  if

(found !=

NULL

) {

398  const size_t

buf_size = 50 * 1024;

400  const char

* tracking_env[

m_Req

->headers.size + 1];

401

unique_ptr<char[]>

buffer

(

new char

[buf_size]);

402  char

* raw_buffer =

buffer

.get();

405  for

(

size_t

index = 0; index <

m_Req

->headers.size; ++index) {

406  size_t

name_val_size =

m_Req

->headers.entries[index].name->len +

407  m_Req

->headers.entries[index].value.len +

409  if

(pos + name_val_size > buf_size) {

410  PSG_WARNING

(

"The buffer for request headers is too small ("

<<

411

buf_size <<

" bytes)"

);

415

tracking_env[index] = raw_buffer + pos;

416

memcpy(raw_buffer + pos,

m_Req

->headers.entries[index].name->base,

417  m_Req

->headers.entries[index].name->len);

418

pos +=

m_Req

->headers.entries[index].name->len;

419

raw_buffer[pos] =

'='

;

421

memcpy(raw_buffer + pos,

m_Req

->headers.entries[index].value.base,

422  m_Req

->headers.entries[index].value.len);

423

pos +=

m_Req

->headers.entries[index].value.len;

424

raw_buffer[pos] =

'\0'

;

427

tracking_env[

m_Req

->headers.size] =

nullptr

;

435  struct

sockaddr sock_addr;

436  if

(

m_Req

->conn->callbacks->get_peername(

m_Req

->conn, &sock_addr) == 0)

446  switch

(sock_addr->sa_family) {

448  if

(inet_ntop(AF_INET,

449

&(((

struct

sockaddr_in *)sock_addr)->sin_addr),

454  if

(inet_ntop(AF_INET6,

455

&(((

struct

sockaddr_in6 *)sock_addr)->sin6_addr),

467

in_port_t

GetPort

(

struct

sockaddr * sock_addr)

469  switch

(sock_addr->sa_family) {

471  return

ntohs(((

struct

sockaddr_in *)sock_addr)->sin_port);

473  return

ntohs(((

struct

sockaddr_in6 *)sock_addr)->sin6_port);

void Parse(CHttpRequest &req, char *data, size_t length) const override

virtual bool Supports(const char *content_type, size_t content_type_len) const =0

virtual void Parse(CHttpRequest &req, char *data, size_t length) const =0

string GetHeaderValue(const string &name)

CDiagContext_Extra & PrintParams(CDiagContext_Extra &extra, bool need_peer_ip)

CQueryParam * AddParam(void)

CHttpRequestParser * m_GetParser

bool GetParam(const char *name, size_t len, const char **value, size_t *value_len)

optional< string > x_GetCookieValue(const string &cookie_name)

optional< string > GetWebCubbyUser(void)

void PrintLogFields(const CNcbiLogFields &log_fields)

TNCBI_IPv6Addr GetClientIP(void)

void GetRawBuffer(char **buf, ssize_t *len)

CHttpPostParser * m_PostParser

bool GetMultipleValuesParam(const char *name, size_t len, vector< string > &values)

optional< string > GetAdminAuthToken(void)

The NCBI C++ standard methods for dealing with std::string.

CCgiCookie * Find(const string &name, const string &domain, const string &path)

Return NULL if cannot find this exact cookie.

const string & GetValue(void) const

All "const string& GetXXX(...)" methods beneath return reference to "NcbiEmptyString" if the requeste...

CDiagContext_Extra & Print(const string &name, const string &value)

The method does not print the argument, but adds it to the string.

void LogFields(const TEntries &entries) const

Log (as an extra) all names/values matching fields in NCBI_LOG_FIELDS.

static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)

Replace occurrences of a substring within a string.

static string & ToLower(string &str)

Convert string to lower case – string& version.

static string kAdminAuthToken

in_port_t GetPort(struct sockaddr *sock_addr)

static string kWebCubbyUser

static string kPeerSocketIP

static string kPeerSocketPort

static bool s_HttpUrlDecode(const char *what, size_t len, char *buf, size_t buf_size, size_t *result_len)

string GetIPAddress(struct sockaddr *sock_addr)

static size_t kCookieSize

const GenericPointer< typename T::ValueType > T2 value

TNCBI_IPv6Addr NcbiGetCgiClientIPv6(ECgiClientIP flag, const char *const *tracking_env)

Same as NcbiGetCgiClientIPv6Ex(., NULL, 0, .)

@ eCgiClientIP_TryMost

Try most of known environment variables.

static PCRE2_SIZE bufsize

#define PSG_WARNING(message)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4