Shell C++ C CMake Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
CMake
tests
.gitignore
.travis.yml
CMakeLists.txt
Makefile.am
README.md
autogen.sh
configure.ac
example.c
libngx_url_parser.pc.in
ngx_url_parser.c
ngx_url_parser.h

README.md

Build Status Coverage Status

ngx_url_parser

Yet another url parser, written in C.

This repository contains url parser extracted from source code of NGINX. There are some changes in code it but concept is same as in NGINX.

Usage:

Include ngx_url_parser.h and then

const char * str = "https://user:password@mkaciuba.pl:555/path/?query#fragment";
// struct in which result will be stored
ngx_http_url url;

// run parser
int status = ngx_url_parser(&url, str);
if (status != NGX_URL_OK) {
    printf("Error processing url!\n");
    return 1;
}

printf("Url = %s\n", str);
printf("\nParse status %d", status);
printf("\n scheme = %s", url.scheme);
printf("\n Host = %s", url.host);
printf("\n Port = %s", url.port);
printf("\n Path = %s", url.path);
printf("\n Query = %s", url.query);
printf("\n Fragment = %s", url.fragment);
printf("\n Auth = %s", url.auth);
printf("\n");

// free memory
ngx_url_free(&url);