17class HttpRequestHandlerLine;
39 virtual void end() = 0;
41 virtual void rewrite(
const char* from,
const char* to) = 0;
44 void* ctx[] =
nullptr,
int ctxCount = 0) = 0;
50 const char* result) = 0;
53 const uint8_t* data,
int len) = 0;
59 virtual void replyChunked(
const char* contentType, Stream& inputStream,
60 int status = 200,
const char* msg =
SUCCESS) = 0;
62 virtual void replyChunked(
const char* contentType,
int status = 200,
65 virtual void reply(
const char* contentType, Stream& inputStream,
int size,
66 int status = 200,
const char* msg =
SUCCESS) = 0;
68 virtual void reply(
const char* contentType,
69 size_t (*callback)(Print& out,
void* ref),
70 int status = 200,
const char* msg =
SUCCESS,
71 void* ref =
nullptr) = 0;
73 virtual void reply(
const char* contentType,
const char* str,
74 int status = 200,
const char* msg =
SUCCESS) = 0;
76 virtual void reply(
const char* contentType,
const uint8_t* str,
int len,
77 int status = 200,
const char* msg =
SUCCESS) = 0;
84 const char* msg =
"Internal Server Error") = 0;
102 virtual operator bool() = 0;
Used to register and process callbacks.
Definition: HttpRequestHandlerLine.h:15
Abstract interface for HTTP server functionality.
Definition: IHttpServer.h:30
virtual void replyChunked(const char *contentType, Stream &inputStream, int status=200, const char *msg=SUCCESS)=0
Send chunked response from input stream.
virtual bool begin()=0
Start the HTTP server.
virtual void * getReference()=0
Get user reference pointer.
virtual Str contentStr()=0
Get content as string.
virtual bool doLoop()=0
Process server loop.
virtual void replyNotFound()=0
Send 404 Not Found response.
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 reply(const char *contentType, const char *str, int status=200, const char *msg=SUCCESS)=0
Send string response.
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 end()=0
Stop the HTTP server.
virtual void setNoConnectDelay(int delay)=0
Set no-connect delay.
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, web_callback_fn fn, void *ctx[]=nullptr, int ctxCount=0)=0
Register callback for HTTP request with context.
virtual void replyOK()=0
Send 200 OK response.
virtual const char * localHost()=0
Get local hostname.
virtual bool copy()=0
Create a copy of the server instance.
virtual void setReference(void *reference)=0
Set user reference pointer.
virtual void crlf()=0
Send CRLF sequence.
virtual void replyChunked(const char *contentType, int status=200, const char *msg=SUCCESS)=0
Send chunked response with callback.
virtual HttpReplyHeader & replyHeader()=0
Get reference to reply header.
virtual IPAddress & localIP()=0
Get the local IP address of the server.
virtual void addHandler(HttpRequestHandlerLine *handlerLinePtr)=0
Add custom request handler.
virtual void on(const char *url, TinyMethodID method, Url &redirect)=0
Register redirect response for HTTP request.
virtual Client & client()=0
Get reference to current client.
virtual bool onRequest(const char *path)=0
Check if request matches registered handlers.
virtual ~IHttpServer()=default
virtual void endClient()=0
Close the client connection.
virtual void replyError(int err, const char *msg="Internal Server Error")=0
Send error response with status code.
virtual bool isActive()=0
Check if server is active.
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 HttpRequestHeader & requestHeader()=0
Get reference to request header.
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, Stream &inputStream, int size, int status=200, const char *msg=SUCCESS)=0
Send response from input stream with known size.
virtual void rewrite(const char *from, const char *to)=0
Add URL rewrite rule.
Heap-backed string utility used throughout tiny_dlna.
Definition: Str.h:27
URL parser which breaks a full url string up into its individual parts.
Definition: Url.h:18
Definition: Allocator.h:13
TinyMethodID
Definition: HttpHeader.h:35
const char * SUCCESS
Definition: HttpHeader.h:25
void(*)(IHttpServer *server, const char *requestPath, HttpRequestHandlerLine *handlerLine) web_callback_fn
Definition: IHttpServer.h:20