17class HttpRequestHandlerLine;
23 virtual void replyChunked(
const char* contentType, Stream& inputStream,
int status = 200,
const char* msg =
SUCCESS) = 0;
25 virtual void reply(
const char* contentType, Stream& inputStream,
int size,
int status = 200,
const char* msg =
SUCCESS) = 0;
26 virtual void reply(
const char* contentType,
size_t (*callback)(Print& out,
void* ref),
int status = 200,
const char* msg =
SUCCESS,
void* ref =
nullptr) = 0;
27 virtual void reply(
const char* contentType,
const char* str,
int status = 200,
const char* msg =
SUCCESS) = 0;
28 virtual void reply(
const char* contentType,
const uint8_t* str,
int len,
int status = 200,
const char* msg =
SUCCESS) = 0;
31 virtual void replyError(
int err,
const char* msg =
"Internal Server Error") = 0;
55 virtual void end() = 0;
56 virtual void rewrite(
const char* from,
const char* to) = 0;
58 void* ctx[] =
nullptr,
int ctxCount = 0) = 0;
64 const char* result) = 0;
67 const uint8_t* data,
int len) = 0;
78 virtual operator bool() = 0;
Used to register and process callbacks.
Definition: HttpRequestHandlerLine.h:12
Definition: IHttpServer.h:19
virtual void replyChunked(const char *contentType, Stream &inputStream, int status=200, const char *msg=SUCCESS)=0
virtual void reply(const char *contentType, size_t(*callback)(Print &out, void *ref), int status=200, const char *msg=SUCCESS, void *ref=nullptr)=0
virtual HttpRequestHeader & requestHeader()=0
virtual void replyNotFound()=0
virtual void reply(const char *contentType, Stream &inputStream, int size, int status=200, const char *msg=SUCCESS)=0
virtual void replyError(int err, const char *msg="Internal Server Error")=0
virtual ~IClientHandler()=default
virtual void replyChunked(const char *contentType, int status=200, const char *msg=SUCCESS)=0
virtual Client * client()=0
virtual void reply(const char *contentType, const uint8_t *str, int len, int status=200, const char *msg=SUCCESS)=0
virtual HttpReplyHeader & replyHeader()=0
virtual void endClient()=0
virtual void reply(const char *contentType, const char *str, int status=200, const char *msg=SUCCESS)=0
Abstract interface for HTTP server functionality.
Definition: IHttpServer.h:50
virtual void * getReference()=0
virtual bool doLoop()=0
Process server loop.
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, const char *mime, web_callback_fn fn)=0
Register callback for HTTP request with MIME type.
virtual void setNoConnectDelay(int delay)=0
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
virtual const char * localHost()=0
virtual bool copy()=0
Create a copy of the server instance.
virtual void setReference(void *reference)=0
virtual IPAddress & localIP()=0
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 bool onRequest(const char *path)=0
Check if request matches registered handlers.
virtual ~IHttpServer()=default
virtual bool isActive()=0
virtual void rewrite(const char *from, const char *to)=0
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(* web_callback_fn)(IClientHandler &client, IHttpServer *server, const char *requestPath, HttpRequestHandlerLine *handlerLine)
Definition: IHttpServer.h:40