61 virtual int post(
Url &
url,
const char *mime,
const char *data,
int len = -1) {
66 virtual int put(
Url &
url,
const char *mime,
const char *data,
int len = -1) {
71 virtual int del(
Url &
url,
const char *mime =
nullptr,
72 const char *data =
nullptr,
int len = -1) {
77 virtual int get(
Url &
url,
const char *acceptMime =
nullptr,
78 const char *data =
nullptr,
int len = -1) {
84 virtual int head(
Url &
url,
const char *acceptMime =
nullptr,
85 const char *data =
nullptr,
int len = -1) {
107 virtual int readln(uint8_t *
str,
int len,
bool incl_nl =
true) {
147 const char *
str(
const char *in) {
return in ==
nullptr ?
"" : in; }
150 virtual int connect(
const char *ip, uint16_t port) {
152 int rc = this->client_ptr->connect(ip, port);
153 uint64_t end = millis() +
client_ptr->getTimeout();
162 const char *data,
int len = -1) {
182 if (len == -1 && data !=
nullptr) {
191 if (
agent !=
nullptr) {
197 if (mime !=
nullptr) {
208 client_ptr->write((
const uint8_t *)data, len);
Http might reply with chunks. So we need to dechunk the data. see https://en.wikipedia....
Definition: HttpChunkReader.h:13
void open(Client &client)
Definition: HttpChunkReader.h:28
virtual int read(Client &client, uint8_t *str, int len)
Definition: HttpChunkReader.h:35
virtual int readln(Client &client, uint8_t *str, int len, bool incl_nl=true)
Definition: HttpChunkReader.h:55
int available()
Definition: HttpChunkReader.h:73
virtual int readlnInternal(Stream &client, uint8_t *str, int len, bool incl_nl=true)
Definition: HttpLineReader.h:18
Simple API to process get, put, post, del http requests I tried to use Arduino HttpClient,...
Definition: HttpRequest.h:21
virtual int available()
Definition: HttpRequest.h:49
void setTimeout(int ms)
Definition: HttpRequest.h:132
Url url
Definition: HttpRequest.h:137
~HttpRequest()
Definition: HttpRequest.h:34
virtual HttpRequestHeader & request()
Definition: HttpRequest.h:118
const char * agent
Definition: HttpRequest.h:142
virtual int subscribe(Url &url)
Definition: HttpRequest.h:91
Client * client()
Definition: HttpRequest.h:130
HttpReplyHeader reply_header
Definition: HttpRequest.h:139
const char * accept
Definition: HttpRequest.h:144
HttpRequestHeader request_header
Definition: HttpRequest.h:138
Str host_name
Definition: HttpRequest.h:141
virtual int put(Url &url, const char *mime, const char *data, int len=-1)
Definition: HttpRequest.h:66
virtual int get(Url &url, const char *acceptMime=nullptr, const char *data=nullptr, int len=-1)
Definition: HttpRequest.h:77
virtual void setAcceptsEncoding(const char *enc)
Definition: HttpRequest.h:126
virtual void setAgent(const char *agent)
Definition: HttpRequest.h:120
HttpRequest()
Definition: HttpRequest.h:23
const char * accept_encoding
Definition: HttpRequest.h:145
virtual bool connected()
Definition: HttpRequest.h:47
virtual void setConnection(const char *connection)
Definition: HttpRequest.h:122
void setHost(const char *host)
Definition: HttpRequest.h:40
virtual int head(Url &url, const char *acceptMime=nullptr, const char *data=nullptr, int len=-1)
Definition: HttpRequest.h:84
HttpRequest(Client &client)
Definition: HttpRequest.h:29
virtual int post(Url &url, const char *mime, const char *data, int len=-1)
Definition: HttpRequest.h:61
virtual int readln(uint8_t *str, int len, bool incl_nl=true)
Definition: HttpRequest.h:107
Client * client_ptr
Definition: HttpRequest.h:136
virtual HttpReplyHeader & reply()
Definition: HttpRequest.h:116
const char * connection
Definition: HttpRequest.h:143
const char * str(const char *in)
Definition: HttpRequest.h:147
virtual int process(TinyMethodID action, Url &url, const char *mime, const char *data, int len=-1)
Definition: HttpRequest.h:161
virtual int del(Url &url, const char *mime=nullptr, const char *data=nullptr, int len=-1)
Definition: HttpRequest.h:71
virtual int connect(const char *ip, uint16_t port)
Definition: HttpRequest.h:150
WiFiClient default_client
Definition: HttpRequest.h:135
virtual void stop()
Definition: HttpRequest.h:56
HttpChunkReader chunk_reader
Definition: HttpRequest.h:140
virtual int read(uint8_t *str, int len)
Definition: HttpRequest.h:97
void setClient(Client &client)
Definition: HttpRequest.h:36
void log(DlnaLogLevel current_level, const char *fmt...)
Print log message.
Definition: Logger.h:40
virtual void add(int value)
adds a int value
Definition: StrView.h:129
virtual bool isEmpty()
checks if the string is empty
Definition: StrView.h:383
String implementation which keeps the data on the heap. We grow the allocated memory only if the copy...
Definition: Str.h:22
const char * c_str()
provides the string value as const char*
Definition: Str.h:187
URL parser which breaks a full url string up into its individual parts.
Definition: Url.h:18
int port()
Definition: Url.h:50
const char * host()
Definition: Url.h:45
const char * url()
Definition: Url.h:43
const char * path()
Definition: Url.h:44
Definition: Allocator.h:6
const char * CONTENT_TYPE
Definition: HttpHeader.h:16
const char * CONTENT_LENGTH
Definition: HttpHeader.h:17
const char * CON_CLOSE
Definition: HttpHeader.h:19
const char * HOST_C
Definition: HttpHeader.h:29
TinyMethodID
Definition: HttpHeader.h:35
@ T_DELETE
Definition: HttpHeader.h:41
@ T_SUBSCRIBE
Definition: HttpHeader.h:46
@ T_HEAD
Definition: HttpHeader.h:38
@ T_GET
Definition: HttpHeader.h:37
@ T_PUT
Definition: HttpHeader.h:40
@ T_POST
Definition: HttpHeader.h:39
const char * ACCEPT
Definition: HttpHeader.h:23
const char * ACCEPT_ENCODING
Definition: HttpHeader.h:30
LoggerClass DlnaLogger
Definition: Logger.cpp:5
const char * ACCEPT_ALL
Definition: HttpHeader.h:24
const char * USER_AGENT
Definition: HttpHeader.h:26
const char * CONNECTION
Definition: HttpHeader.h:18