summaryrefslogtreecommitdiffstats
path: root/libnetdata
diff options
context:
space:
mode:
authorPavlos Emm. Katsoulakis <paul@netdata.rocks>2019-06-07 18:14:44 +0300
committerPavlos Emm. Katsoulakis <paul@netdata.rocks>2019-06-07 18:14:44 +0300
commit0fca36fd596e49395141561bc42c168a240f51b8 (patch)
tree7c47ac793a7937015e4fb3c557ecbb3de5940456 /libnetdata
parentd6f3937b4d4bffedb8a8cc61f80affde7f17b180 (diff)
Revert "New URL parser (#6070)"
This reverts commit 58b7d95a7ec9c576f8a06bbab07f755846b5349a. --- As agreed with @thiago and @cakrit we revert URL parser changes, to buy the time on a more detailed investigation ---
Diffstat (limited to 'libnetdata')
-rw-r--r--libnetdata/inlined.h28
-rw-r--r--libnetdata/url/url.c85
-rw-r--r--libnetdata/url/url.h22
3 files changed, 0 insertions, 135 deletions
diff --git a/libnetdata/inlined.h b/libnetdata/inlined.h
index a9c3e472e4..6a5994c12a 100644
--- a/libnetdata/inlined.h
+++ b/libnetdata/inlined.h
@@ -31,19 +31,6 @@ static inline uint32_t simple_hash(const char *name) {
return hval;
}
-static inline uint32_t simple_nhash(const char *name,size_t len) {
- unsigned char *s = (unsigned char *) name;
- size_t i;
- uint32_t hval = 0x811c9dc5;
- i = 0;
- do {
- hval *= 16777619;
- hval ^= (uint32_t) *s++;
- } while (++i < len);
-
- return hval;
-}
-
static inline uint32_t simple_uhash(const char *name) {
unsigned char *s = (unsigned char *) name;
uint32_t hval = 0x811c9dc5, c;
@@ -55,21 +42,6 @@ static inline uint32_t simple_uhash(const char *name) {
return hval;
}
-static inline uint32_t simple_nuhash(const char *name,size_t len) {
- unsigned char *s = (unsigned char *) name;
- size_t i;
- uint32_t hval = 0x811c9dc5, c;
-
- i = 0;
- do {
- c = *s++;
- if (unlikely(c >= 'A' && c <= 'Z')) c += 'a' - 'A';
- hval *= 16777619;
- hval ^= c;
- } while ( ++i < len);
- return hval;
-}
-
static inline int simple_hash_strcmp(const char *name, const char *b, uint32_t *hash) {
unsigned char *s = (unsigned char *) name;
uint32_t hval = 0x811c9dc5;
diff --git a/libnetdata/url/url.c b/libnetdata/url/url.c
index fb1fb7f07a..07a9f8069e 100644
--- a/libnetdata/url/url.c
+++ b/libnetdata/url/url.c
@@ -79,88 +79,3 @@ char *url_decode_r(char *to, char *url, size_t size) {
return to;
}
-
-inline HTTP_VALIDATION url_is_request_complete(char *begin,char *end,size_t length) {
- if ( begin == end) {
- return HTTP_VALIDATION_INCOMPLETE;
- }
-
- if ( length > 3 ) {
- begin = end - 4;
- }
-
- uint32_t counter = 0;
- do {
- if (*begin == '\r') {
- begin++;
- if ( begin == end )
- {
- break;
- }
-
- if (*begin == '\n')
- {
- counter++;
- }
- } else if (*begin == '\n') {
- begin++;
- counter++;
- }
-
- if ( counter == 2) {
- break;
- }
- }
- while (begin != end);
-
- return (counter == 2)?HTTP_VALIDATION_OK:HTTP_VALIDATION_INCOMPLETE;
-}
-
-inline char *url_find_protocol(char *s) {
- while(*s) {
- // find the next space
- while (*s && *s != ' ') s++;
-
- // is it SPACE + "HTTP/" ?
- if(*s && !strncmp(s, " HTTP/", 6)) break;
- else s++;
- }
-
- return s;
-}
-
-int url_parse_query_string(struct web_fields *names,struct web_fields *values,char *moveme,char *divisor) {
- uint32_t i = 0;
- uint32_t max = WEB_FIELDS_MAX;
-
- do {
- if ( i == max) {
- error("We are exceeding the maximum number of elements possible(%u) in this query string(%s)",max,moveme);
- break;
- }
- if (divisor) {
- names[i].body = moveme;
- names[i].length = divisor - moveme;//= - begin
-
- moveme = ++divisor; //value
- values[i].body = moveme;
-
- (void)divisor;
- divisor = strchr(moveme,'&'); //end of value
- if (divisor) {
- values[i].length = (size_t )(divisor - moveme);
- } else{
- values[i].length = strlen(moveme);
- break;
- }
-
- moveme = divisor;
- divisor = strchr(++moveme,'='); //end of value
- i++;
- } else {
- break;
- }
- } while (moveme);
-
- return ++i;
-}
diff --git a/libnetdata/url/url.h b/libnetdata/url/url.h
index 9e86c20cfd..6cef6d7a84 100644
--- a/libnetdata/url/url.h
+++ b/libnetdata/url/url.h
@@ -25,26 +25,4 @@ extern char *url_decode(char *str);
extern char *url_decode_r(char *to, char *url, size_t size);
-#define WEB_FIELDS_MAX 200
-struct web_fields{
- char *body;
- size_t length;
-};
-// http_request_validate()
-// returns:
-// = 0 : all good, process the request
-// > 0 : request is not supported
-// < 0 : request is incomplete - wait for more data
-
-typedef enum {
- HTTP_VALIDATION_OK,
- HTTP_VALIDATION_NOT_SUPPORTED,
- HTTP_VALIDATION_INCOMPLETE,
- HTTP_VALIDATION_REDIRECT
-} HTTP_VALIDATION;
-
-extern HTTP_VALIDATION url_is_request_complete(char *begin,char *end,size_t length);
-extern char *url_find_protocol(char *s);
-extern int url_parse_query_string(struct web_fields *names,struct web_fields *values,char *moveme,char *divisor);
-
#endif /* NETDATA_URL_H */