summaryrefslogtreecommitdiffhomepage
path: root/NetEx/HttpClient.h
blob: cded234e180838f512f2dfc04384562dd0389903 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*  Starshatter: The Open Source Project
    Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors
    Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors
    Copyright (c) 1997-2006, Destroyer Studios LLC.

    AUTHOR:       John DiCamillo


    OVERVIEW
    ========
    HTTP/1.1 client class
*/

#ifndef HttpClient_h
#define HttpClient_h

#include "HttpParam.h"
#include "HttpRequest.h"
#include "HttpResponse.h"
#include "List.h"
#include "NetAddr.h"
#include "NetClient.h"

// +-------------------------------------------------------------------+

class HttpClient : public NetClient
{
public:
    static const char* TYPENAME() { return "HttpClient"; }

    HttpClient(const NetAddr& server_addr);
    virtual ~HttpClient();

    int operator == (const HttpClient& c)   const { return this == &c; }

    HttpResponse*     DoRequest(HttpRequest& request);

protected:
    void              CombineCookies(List<HttpParam>& dst, List<HttpParam>& src);

    List<HttpParam>   cookies;
};


#endif  // HttpClient_h