IoTeX client
src
http
http.h
1
#ifndef HTTP_H
2
#define HTTP_H
3
4
#include "helpers/client_helper.h"
5
#include "IoTeXResultCodes.h"
6
#include <memory>
7
#include <string>
8
9
namespace
iotex
10
{
11
enum
GrpcStatusCode
12
{
13
OK = 0,
14
CANCELLED,
15
UNKNOWN,
16
INVALIUD_ARGUMENT,
17
DEADLINE_EXCEEDED,
18
NOT_FOUND,
19
ALREADY_EXISTS,
20
PERMISSION_DENIED,
21
RESOURCE_EXHAUSTED,
22
FAILED_PRECONDITION,
23
ABORTED,
24
OUT_OF_RANGE,
25
UNIMPLEMENTED,
26
INTERNAL,
27
UNAVAILABLE,
28
DATA_LOSS,
29
UNAUTHENTICATED,
30
END
31
};
32
33
struct
GrpcStatus
34
{
35
GrpcStatusCode code;
36
IotexString message;
37
};
38
39
class
IHTTP
40
{
41
protected
:
42
IHTTP
() =
default
;
43
44
public
:
45
virtual
~IHTTP
()
46
{
47
}
48
49
virtual
IotexString get(
const
char
* request) = 0;
50
virtual
iotex::ResultCode post(
const
char
* request,
const
char
* body,
51
IotexString& response) = 0;
52
53
virtual
int
get(
const
char
* request,
char
* rspBuf,
size_t
size)
54
{
55
return
-1;
56
};
57
virtual
int
post(
const
char
* request,
const
char
* body,
char
* rspBuf,
size_t
size)
58
{
59
return
-1;
60
};
61
};
62
63
class
AbstractHTTP
:
public
IHTTP
64
{
65
protected
:
66
AbstractHTTP
() =
default
;
67
AbstractHTTP
(
AbstractHTTP
&&) =
delete
;
68
AbstractHTTP
& operator=(
AbstractHTTP
&&) =
delete
;
69
AbstractHTTP
& operator=(
const
AbstractHTTP
& other) =
default
;
70
71
public
:
72
virtual
~AbstractHTTP
(){};
73
};
74
75
std::unique_ptr<IHTTP> makeHTTP();
76
77
}
// namespace iotex
78
79
#endif
iotex::AbstractHTTP
Definition:
http.h:64
iotex::IHTTP
Definition:
http.h:40
iotex
Definition:
abi.h:12
iotex::GrpcStatus
Definition:
http.h:34
Generated by
1.9.2