pcp
[Top] [All Lists]

pcp updates: http client lib rework

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: pcp updates: http client lib rework
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Sun, 14 Aug 2016 17:26:51 -0400 (EDT)
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <542577060.182699.1471209775500.JavaMail.zimbra@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: ErEJhIPMOk7fO2MWEqhRSD9RZ4lHlA==
Thread-topic: pcp updates: http client lib rework
(not yet ready for merge Mark/Dave, regression testing is WIP)

Changes committed to git://git.pcp.io/nathans/pcp.git master

Nathan Scott (1):
      libpcp_web: rework the simple http client library


 debian/libpcp-web1-dev.install         |    4 
 man/man3/pmhttpnewclient.3             |   95 +
 man/man3/pmjsoninit.3                  |   10 
 qa/src/.gitignore                      |    1 
 qa/src/GNUlocaldefs                    |   10 
 qa/src/GNUmakefile                     |    8 
 qa/src/httpfetch.c                     |  131 +
 src/GNUmakefile                        |    1 
 src/include/pcp/GNUmakefile            |    3 
 src/include/pcp/impl.h                 |    3 
 src/include/pcp/pmhttp.h               |   44 
 src/include/pcp/pmjson.h               |    6 
 src/libpcp_http/GNUmakefile            |   27 
 src/libpcp_http/src/.gitignore         |    1 
 src/libpcp_http/src/GNUmakefile        |   32 
 src/libpcp_http/src/README             |   78 -
 src/libpcp_http/src/http_error_codes.c |   39 
 src/libpcp_http/src/http_error_codes.h |   43 
 src/libpcp_http/src/http_fetcher.c     |  887 ------------
 src/libpcp_http/src/http_fetcher.h     |  168 --
 src/libpcp_web/src/GNUmakefile         |    8 
 src/libpcp_web/src/exports             |   10 
 src/libpcp_web/src/http_client.c       |  679 +++++++++
 src/libpcp_web/src/http_client.h       |   47 
 src/libpcp_web/src/http_parser.c       | 2437 +++++++++++++++++++++++++++++++++
 src/libpcp_web/src/http_parser.h       |  324 ++++
 src/libpcp_web/src/jsmn.c              |    1 
 src/libpcp_web/src/jsmn.h              |   17 
 src/libpcp_web/src/json_helpers.c      |    6 
 src/libpcp_web/src/private.h           |   40 
 src/pmdas/apache/GNUmakefile           |    7 
 src/pmdas/apache/README                |    4 
 src/pmdas/apache/apache.c              |   54 
 src/pmdbg/pmdbg.c                      |    4 
 34 files changed, 3873 insertions(+), 1356 deletions(-)


commit c59b6135b6b8f89197e22571e591f67a5ca195fa
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon Aug 15 07:22:11 2016 +1000

    libpcp_web: rework the simple http client library
    
    This commit continues Lukas' earlier work with starting
    a library for common web functionality.  It refactors &
    extends the original libpcp_http (static-only) library
    used by pmdaapache into a documented and shared library
    that other PMDAs can use going forward.
    
    Beyond that, this also adds some new functionality -
    - unix domain socket support (esp. for pmdadocker);
    - switches to a modern http parser implementation, which
      is more general and performs better than the original;
    - prefer persistent connections whenever possible;
    - cater for both http 1.0 and 1.1 client requests; and
    - removals global state from the original implementation;

<Prev in Thread] Current Thread [Next in Thread>