#include <UrlHandler.h>
|
bool | canHandle (const char *method, const char *url) override |
|
int | handle (Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size) override |
|
Public Member Functions inherited from UrlHandler |
virtual | ~UrlHandler () |
|
virtual bool | canHandle (const char *method, const char *url)=0 |
|
virtual int | handle (Request *request, MHD_Connection *connection, const char *url, const char *method, const char *upload_data, size_t *upload_data_size)=0 |
|
Definition at line 24 of file UrlHandler.h.
◆ canHandle()
bool CmdHandler::canHandle |
( |
const char * |
method, |
|
|
const char * |
url |
|
) |
| |
|
overridevirtual |
Implements UrlHandler.
Definition at line 18 of file CmdHandler.cpp.
18 {
19 const char* kBasePath = "/cmd";
20 return 0 == strncmp(url, kBasePath, strlen(kBasePath));
21}
◆ handle()
int CmdHandler::handle |
( |
Request * |
request, |
|
|
MHD_Connection * |
connection, |
|
|
const char * |
url, |
|
|
const char * |
method, |
|
|
const char * |
upload_data, |
|
|
size_t * |
upload_data_size |
|
) |
| |
|
overridevirtual |
Implements UrlHandler.
Definition at line 23 of file CmdHandler.cpp.
25 {
28
29 if (!request->hasPicture() ||
commands.size() > 3) {
30 return MHD_NO;
31 }
32
33
34 if (0 == strcmp(method, MHD_HTTP_METHOD_GET)) {
36 return SendData(connection,
data.get(),
"application/json");
37 }
38
39
40 if (
commands.size() == 2 && 0 == strcmp(method, MHD_HTTP_METHOD_DELETE)) {
41 int n;
42 sscanf(
commands[1].c_str(),
"%d", &n);
43 request->fDebugCanvas->deleteDrawCommandAt(n);
45 }
46
47
48 if (
commands.size() == 3 && 0 == strcmp(method, MHD_HTTP_METHOD_POST)) {
49 int n, toggle;
50 sscanf(
commands[1].c_str(),
"%d", &n);
51 sscanf(
commands[2].c_str(),
"%d", &toggle);
52 request->fDebugCanvas->toggleCommand(n,
SkToBool(toggle));
54 }
55
56 return MHD_NO;
57}
void SkStrSplit(const char *str, const char *delimiters, SkStrSplitMode splitMode, TArray< SkString > *out)
static constexpr bool SkToBool(const T &x)
int SendData(MHD_Connection *connection, const SkData *data, const char *type, bool setContentDisposition, const char *dispositionString)
int SendOK(MHD_Connection *connection)
std::shared_ptr< const fml::Mapping > data
The documentation for this class was generated from the following files: