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

Abstract interface for HTTP server functionality. More...

#include <IHttpServer.h>

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

Public Member Functions

virtual ~IHttpServer ()=default
 
virtual IPAddress & localIP ()=0
 Get the local IP address of the server.
 
virtual bool begin ()=0
 Start the HTTP server.
 
virtual void end ()=0
 Stop the HTTP server.
 
virtual void rewrite (const char *from, const char *to)=0
 Add URL rewrite rule.
 
virtual void on (const char *url, TinyMethodID method, web_callback_fn fn, void *ctx[]=nullptr, int ctxCount=0)=0
 Register callback for HTTP request with context.
 
virtual void on (const char *url, TinyMethodID method, const char *mime, web_callback_fn fn)=0
 Register callback for HTTP request with MIME type.
 
virtual void on (const char *url, TinyMethodID method, const char *mime, const char *result)=0
 Register static response for HTTP request.
 
virtual void on (const char *url, TinyMethodID method, const char *mime, const uint8_t *data, int len)=0
 Register binary data response for HTTP request.
 
virtual void on (const char *url, TinyMethodID method, Url &redirect)=0
 Register redirect response for HTTP request.
 
virtual bool onRequest (const char *path)=0
 Check if request matches registered handlers.
 
virtual void replyChunked (const char *contentType, Stream &inputStream, int status=200, const char *msg=SUCCESS)=0
 Send chunked response from input stream.
 
virtual void replyChunked (const char *contentType, int status=200, const char *msg=SUCCESS)=0
 Send chunked response with callback.
 
virtual void reply (const char *contentType, Stream &inputStream, int size, int status=200, const char *msg=SUCCESS)=0
 Send response from input stream with known size.
 
virtual void reply (const char *contentType, size_t(*callback)(Print &out, void *ref), int status=200, const char *msg=SUCCESS, void *ref=nullptr)=0
 Send response using callback function.
 
virtual void reply (const char *contentType, const char *str, int status=200, const char *msg=SUCCESS)=0
 Send string response.
 
virtual void reply (const char *contentType, const uint8_t *str, int len, int status=200, const char *msg=SUCCESS)=0
 Send binary data response.
 
virtual void replyOK ()=0
 Send 200 OK response.
 
virtual void replyNotFound ()=0
 Send 404 Not Found response.
 
virtual void replyError (int err, const char *msg="Internal Server Error")=0
 Send error response with status code.
 
virtual HttpRequestHeaderrequestHeader ()=0
 Get reference to request header.
 
virtual HttpReplyHeaderreplyHeader ()=0
 Get reference to reply header.
 
virtual void endClient ()=0
 Close the client connection.
 
virtual void crlf ()=0
 Send CRLF sequence.
 
virtual void addHandler (HttpRequestHandlerLine *handlerLinePtr)=0
 Add custom request handler.
 
virtual bool doLoop ()=0
 Process server loop.
 
virtual bool copy ()=0
 Create a copy of the server instance.
 
virtual Client & client ()=0
 Get reference to current client.
 
virtual operator bool ()=0
 Check if server is valid.
 
virtual bool isActive ()=0
 Check if server is active.
 
virtual const char * localHost ()=0
 Get local hostname.
 
virtual void setNoConnectDelay (int delay)=0
 Set no-connect delay.
 
virtual Str contentStr ()=0
 Get content as string.
 
virtual void setReference (void *reference)=0
 Set user reference pointer.
 
virtual void * getReference ()=0
 Get user reference pointer.
 

Detailed Description

Abstract interface for HTTP server functionality.

Defines the contract for implementing an HTTP server that can handle requests, send responses, manage connections, and support various HTTP methods and content types. Provides methods for routing, response handling, header management, and server lifecycle.

Constructor & Destructor Documentation

◆ ~IHttpServer()

virtual tiny_dlna::IHttpServer::~IHttpServer ( )
virtualdefault

Member Function Documentation

◆ addHandler()

virtual void tiny_dlna::IHttpServer::addHandler ( HttpRequestHandlerLine handlerLinePtr)
pure virtual

Add custom request handler.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ begin()

virtual bool tiny_dlna::IHttpServer::begin ( )
pure virtual

Start the HTTP server.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ client()

virtual Client & tiny_dlna::IHttpServer::client ( )
pure virtual

Get reference to current client.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ contentStr()

virtual Str tiny_dlna::IHttpServer::contentStr ( )
pure virtual

Get content as string.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ copy()

virtual bool tiny_dlna::IHttpServer::copy ( )
pure virtual

Create a copy of the server instance.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ crlf()

virtual void tiny_dlna::IHttpServer::crlf ( )
pure virtual

Send CRLF sequence.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ doLoop()

virtual bool tiny_dlna::IHttpServer::doLoop ( )
pure virtual

Process server loop.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ end()

virtual void tiny_dlna::IHttpServer::end ( )
pure virtual

Stop the HTTP server.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ endClient()

virtual void tiny_dlna::IHttpServer::endClient ( )
pure virtual

Close the client connection.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ getReference()

virtual void * tiny_dlna::IHttpServer::getReference ( )
pure virtual

Get user reference pointer.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ isActive()

virtual bool tiny_dlna::IHttpServer::isActive ( )
pure virtual

Check if server is active.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ localHost()

virtual const char * tiny_dlna::IHttpServer::localHost ( )
pure virtual

Get local hostname.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ localIP()

virtual IPAddress & tiny_dlna::IHttpServer::localIP ( )
pure virtual

Get the local IP address of the server.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ on() [1/5]

virtual void tiny_dlna::IHttpServer::on ( const char *  url,
TinyMethodID  method,
const char *  mime,
const char *  result 
)
pure virtual

Register static response for HTTP request.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ on() [2/5]

virtual void tiny_dlna::IHttpServer::on ( const char *  url,
TinyMethodID  method,
const char *  mime,
const uint8_t *  data,
int  len 
)
pure virtual

Register binary data response for HTTP request.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ on() [3/5]

virtual void tiny_dlna::IHttpServer::on ( const char *  url,
TinyMethodID  method,
const char *  mime,
web_callback_fn  fn 
)
pure virtual

Register callback for HTTP request with MIME type.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ on() [4/5]

virtual void tiny_dlna::IHttpServer::on ( const char *  url,
TinyMethodID  method,
Url redirect 
)
pure virtual

Register redirect response for HTTP request.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ on() [5/5]

virtual void tiny_dlna::IHttpServer::on ( const char *  url,
TinyMethodID  method,
web_callback_fn  fn,
void *  ctx[] = nullptr,
int  ctxCount = 0 
)
pure virtual

Register callback for HTTP request with context.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ onRequest()

virtual bool tiny_dlna::IHttpServer::onRequest ( const char *  path)
pure virtual

Check if request matches registered handlers.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ operator bool()

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

Check if server is valid.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ reply() [1/4]

virtual void tiny_dlna::IHttpServer::reply ( const char *  contentType,
const char *  str,
int  status = 200,
const char *  msg = SUCCESS 
)
pure virtual

Send string response.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ reply() [2/4]

virtual void tiny_dlna::IHttpServer::reply ( const char *  contentType,
const uint8_t *  str,
int  len,
int  status = 200,
const char *  msg = SUCCESS 
)
pure virtual

Send binary data response.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ reply() [3/4]

virtual void tiny_dlna::IHttpServer::reply ( const char *  contentType,
size_t(*)(Print &out, void *ref)  callback,
int  status = 200,
const char *  msg = SUCCESS,
void *  ref = nullptr 
)
pure virtual

Send response using callback function.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ reply() [4/4]

virtual void tiny_dlna::IHttpServer::reply ( const char *  contentType,
Stream &  inputStream,
int  size,
int  status = 200,
const char *  msg = SUCCESS 
)
pure virtual

Send response from input stream with known size.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ replyChunked() [1/2]

virtual void tiny_dlna::IHttpServer::replyChunked ( const char *  contentType,
int  status = 200,
const char *  msg = SUCCESS 
)
pure virtual

Send chunked response with callback.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ replyChunked() [2/2]

virtual void tiny_dlna::IHttpServer::replyChunked ( const char *  contentType,
Stream &  inputStream,
int  status = 200,
const char *  msg = SUCCESS 
)
pure virtual

Send chunked response from input stream.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ replyError()

virtual void tiny_dlna::IHttpServer::replyError ( int  err,
const char *  msg = "Internal Server Error" 
)
pure virtual

Send error response with status code.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ replyHeader()

virtual HttpReplyHeader & tiny_dlna::IHttpServer::replyHeader ( )
pure virtual

Get reference to reply header.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ replyNotFound()

virtual void tiny_dlna::IHttpServer::replyNotFound ( )
pure virtual

Send 404 Not Found response.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ replyOK()

virtual void tiny_dlna::IHttpServer::replyOK ( )
pure virtual

Send 200 OK response.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ requestHeader()

virtual HttpRequestHeader & tiny_dlna::IHttpServer::requestHeader ( )
pure virtual

Get reference to request header.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ rewrite()

virtual void tiny_dlna::IHttpServer::rewrite ( const char *  from,
const char *  to 
)
pure virtual

Add URL rewrite rule.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ setNoConnectDelay()

virtual void tiny_dlna::IHttpServer::setNoConnectDelay ( int  delay)
pure virtual

Set no-connect delay.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.

◆ setReference()

virtual void tiny_dlna::IHttpServer::setReference ( void *  reference)
pure virtual

Set user reference pointer.

Implemented in tiny_dlna::HttpServer< ClientType, ServerType >.


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