⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.23
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
src
/
netdata
/
web
/
server
/
h2o
/
View File Name :
h2o_utils.h
// SPDX-License-Identifier: GPL-3.0-or-later #ifndef NETDATA_H2O_UTILS_H #define NETDATA_H2O_UTILS_H #include "h2o/memory.h" #define __HAS_URL_PARAMS(reqptr) ((reqptr)->query_at != SIZE_MAX && ((reqptr)->path.len - (reqptr)->query_at > 1)) #define IF_HAS_URL_PARAMS(reqptr) if __HAS_URL_PARAMS(reqptr) #define UNLESS_HAS_URL_PARAMS(reqptr) if (!__HAS_URL_PARAMS(reqptr)) #define URL_PARAMS_IOVEC_INIT(reqptr) { .base = &(reqptr)->path.base[(reqptr)->query_at + 1], \ .len = (reqptr)->path.len - (reqptr)->query_at - 1 } #define URL_PARAMS_IOVEC_INIT_WITH_QUESTIONMARK(reqptr) { .base = &(reqptr)->path.base[(reqptr)->query_at], \ .len = (reqptr)->path.len - (reqptr)->query_at } #define PRINTF_H2O_IOVEC_FMT "%.*s" #define PRINTF_H2O_IOVEC(iovec) ((int)(iovec)->len), ((iovec)->base) char *iovec_to_cstr(h2o_iovec_t *str); typedef struct h2o_iovec_pair { h2o_iovec_t name; h2o_iovec_t value; } h2o_iovec_pair_t; typedef H2O_VECTOR(h2o_iovec_pair_t) h2o_iovec_pair_vector_t; // Takes the part of url behind ? (the url encoded parameters) // and parse it to vector of name/value pairs without copying the actual strings h2o_iovec_pair_vector_t *parse_URL_params(h2o_mem_pool_t *pool, h2o_iovec_t params_string); // Searches for parameter by name (provided in needle) // returns pointer to it or NULL h2o_iovec_pair_t *get_URL_param_by_name(h2o_iovec_pair_vector_t *params_vec, const void *needle, size_t needle_len); char *url_unescape(const char *url); #endif /* NETDATA_H2O_UTILS_H */