Arduino DLNA Server
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tiny_dlna::IHttpRequest Class Referenceabstract

Abstract interface for HTTP client request functionality. More...

#include <IHttpRequest.h>

Inheritance diagram for tiny_dlna::IHttpRequest:
Inheritance graph
[legend]

Public Member Functions

virtual ~IHttpRequest ()=default
 
virtual void setClient (Client &client)=0
 Set the client for HTTP requests.
 
virtual void setHost (const char *host)=0
 Set the host header for requests.
 
virtual operator bool ()=0
 Check if request interface is valid.
 
virtual bool connected ()=0
 Check if connected to server.
 
virtual int available ()=0
 Get number of bytes available to read.
 
virtual void stop ()=0
 Stop the connection.
 
virtual int post (Url &url, const char *mime, const char *data, int len=-1)=0
 Send POST request with string data.
 
virtual int post (Url &url, size_t len, std::function< size_t(Print &, void *)> writer, const char *mime=nullptr, void *ref=nullptr)=0
 Send POST request with callback writer.
 
virtual int notify (Url &url, std::function< size_t(Print &, void *)> writer, const char *mime=nullptr, void *ref=nullptr)=0
 Send NOTIFY request with callback writer.
 
virtual int put (Url &url, const char *mime, const char *data, int len=-1)=0
 Send PUT request with string data.
 
virtual int del (Url &url, const char *mime=nullptr, const char *data=nullptr, int len=-1)=0
 Send DELETE request.
 
virtual int get (Url &url, const char *acceptMime=nullptr, const char *data=nullptr, int len=-1)=0
 Send GET request.
 
virtual int head (Url &url, const char *acceptMime=nullptr, const char *data=nullptr, int len=-1)=0
 Send HEAD request.
 
virtual int subscribe (Url &url)=0
 Send SUBSCRIBE request for UPnP events.
 
virtual int unsubscribe (Url &url, const char *sid)=0
 Send UNSUBSCRIBE request for UPnP events.
 
virtual int read (uint8_t *str, int len)=0
 Read data from response.
 
virtual int readln (uint8_t *str, int len, bool incl_nl=true)=0
 Read line from response.
 
virtual HttpReplyHeaderreply ()=0
 Get reference to reply header.
 
virtual HttpRequestHeaderrequest ()=0
 Get reference to request header.
 
virtual void setAgent (const char *agent)=0
 Set User-Agent header.
 
virtual void setConnection (const char *connection)=0
 Set Connection header.
 
virtual void setAcceptsEncoding (const char *enc)=0
 Set Accept-Encoding header.
 
virtual Client * client ()=0
 Get pointer to client.
 
virtual void setTimeout (int ms)=0
 Set request timeout in milliseconds.
 

Detailed Description

Abstract interface for HTTP client request functionality.

Defines the contract for implementing an HTTP client that can send various types of HTTP requests (GET, POST, PUT, DELETE, etc.) and handle responses. Supports UPnP-specific methods like SUBSCRIBE/UNSUBSCRIBE for event handling.

Constructor & Destructor Documentation

◆ ~IHttpRequest()

virtual tiny_dlna::IHttpRequest::~IHttpRequest ( )
virtualdefault

Member Function Documentation

◆ available()

virtual int tiny_dlna::IHttpRequest::available ( )
pure virtual

Get number of bytes available to read.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ client()

virtual Client * tiny_dlna::IHttpRequest::client ( )
pure virtual

Get pointer to client.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ connected()

virtual bool tiny_dlna::IHttpRequest::connected ( )
pure virtual

Check if connected to server.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ del()

virtual int tiny_dlna::IHttpRequest::del ( Url url,
const char *  mime = nullptr,
const char *  data = nullptr,
int  len = -1 
)
pure virtual

Send DELETE request.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ get()

virtual int tiny_dlna::IHttpRequest::get ( Url url,
const char *  acceptMime = nullptr,
const char *  data = nullptr,
int  len = -1 
)
pure virtual

Send GET request.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ head()

virtual int tiny_dlna::IHttpRequest::head ( Url url,
const char *  acceptMime = nullptr,
const char *  data = nullptr,
int  len = -1 
)
pure virtual

Send HEAD request.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ notify()

virtual int tiny_dlna::IHttpRequest::notify ( Url url,
std::function< size_t(Print &, void *)>  writer,
const char *  mime = nullptr,
void *  ref = nullptr 
)
pure virtual

Send NOTIFY request with callback writer.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ operator bool()

virtual tiny_dlna::IHttpRequest::operator bool ( )
pure virtual

Check if request interface is valid.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ post() [1/2]

virtual int tiny_dlna::IHttpRequest::post ( Url url,
const char *  mime,
const char *  data,
int  len = -1 
)
pure virtual

Send POST request with string data.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ post() [2/2]

virtual int tiny_dlna::IHttpRequest::post ( Url url,
size_t  len,
std::function< size_t(Print &, void *)>  writer,
const char *  mime = nullptr,
void *  ref = nullptr 
)
pure virtual

Send POST request with callback writer.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ put()

virtual int tiny_dlna::IHttpRequest::put ( Url url,
const char *  mime,
const char *  data,
int  len = -1 
)
pure virtual

Send PUT request with string data.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ read()

virtual int tiny_dlna::IHttpRequest::read ( uint8_t *  str,
int  len 
)
pure virtual

Read data from response.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ readln()

virtual int tiny_dlna::IHttpRequest::readln ( uint8_t *  str,
int  len,
bool  incl_nl = true 
)
pure virtual

Read line from response.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ reply()

virtual HttpReplyHeader & tiny_dlna::IHttpRequest::reply ( )
pure virtual

Get reference to reply header.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ request()

virtual HttpRequestHeader & tiny_dlna::IHttpRequest::request ( )
pure virtual

Get reference to request header.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ setAcceptsEncoding()

virtual void tiny_dlna::IHttpRequest::setAcceptsEncoding ( const char *  enc)
pure virtual

Set Accept-Encoding header.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ setAgent()

virtual void tiny_dlna::IHttpRequest::setAgent ( const char *  agent)
pure virtual

Set User-Agent header.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ setClient()

virtual void tiny_dlna::IHttpRequest::setClient ( Client &  client)
pure virtual

Set the client for HTTP requests.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ setConnection()

virtual void tiny_dlna::IHttpRequest::setConnection ( const char *  connection)
pure virtual

Set Connection header.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ setHost()

virtual void tiny_dlna::IHttpRequest::setHost ( const char *  host)
pure virtual

Set the host header for requests.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ setTimeout()

virtual void tiny_dlna::IHttpRequest::setTimeout ( int  ms)
pure virtual

Set request timeout in milliseconds.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ stop()

virtual void tiny_dlna::IHttpRequest::stop ( )
pure virtual

Stop the connection.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ subscribe()

virtual int tiny_dlna::IHttpRequest::subscribe ( Url url)
pure virtual

Send SUBSCRIBE request for UPnP events.

Implemented in tiny_dlna::HttpRequest< ClientType >.

◆ unsubscribe()

virtual int tiny_dlna::IHttpRequest::unsubscribe ( Url url,
const char *  sid 
)
pure virtual

Send UNSUBSCRIBE request for UPnP events.

Implemented in tiny_dlna::HttpRequest< ClientType >.


The documentation for this class was generated from the following file: