mirror of
https://github.com/lammertb/libhttp.git
synced 2025-07-04 17:22:28 +03:00
Format C++ example
This commit is contained in:
@ -25,17 +25,23 @@ class ExampleHandler : public CivetHandler
|
|||||||
bool
|
bool
|
||||||
handleGet(CivetServer *server, struct mg_connection *conn)
|
handleGet(CivetServer *server, struct mg_connection *conn)
|
||||||
{
|
{
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/html\r\nConnection: close\r\n\r\n");
|
||||||
mg_printf(conn, "<html><body>\r\n");
|
mg_printf(conn, "<html><body>\r\n");
|
||||||
mg_printf(conn,
|
mg_printf(conn,
|
||||||
"<h2>This is an example text from a C++ handler</h2>\r\n");
|
"<h2>This is an example text from a C++ handler</h2>\r\n");
|
||||||
mg_printf(conn, "<p>To see a page from the A handler <a "
|
mg_printf(conn,
|
||||||
|
"<p>To see a page from the A handler <a "
|
||||||
"href=\"a\">click here</a></p>\r\n");
|
"href=\"a\">click here</a></p>\r\n");
|
||||||
mg_printf(conn, "<p>To see a page from the A handler with a parameter "
|
mg_printf(conn,
|
||||||
|
"<p>To see a page from the A handler with a parameter "
|
||||||
"<a href=\"a?param=1\">click here</a></p>\r\n");
|
"<a href=\"a?param=1\">click here</a></p>\r\n");
|
||||||
mg_printf(conn, "<p>To see a page from the A/B handler <a "
|
mg_printf(conn,
|
||||||
|
"<p>To see a page from the A/B handler <a "
|
||||||
"href=\"a/b\">click here</a></p>\r\n");
|
"href=\"a/b\">click here</a></p>\r\n");
|
||||||
mg_printf(conn, "<p>To see a page from the *.foo handler <a "
|
mg_printf(conn,
|
||||||
|
"<p>To see a page from the *.foo handler <a "
|
||||||
"href=\"xy.foo\">click here</a></p>\r\n");
|
"href=\"xy.foo\">click here</a></p>\r\n");
|
||||||
mg_printf(conn,
|
mg_printf(conn,
|
||||||
"<p>To exit <a href=\"%s\">click here</a></p>\r\n",
|
"<p>To exit <a href=\"%s\">click here</a></p>\r\n",
|
||||||
@ -51,7 +57,9 @@ class ExitHandler : public CivetHandler
|
|||||||
bool
|
bool
|
||||||
handleGet(CivetServer *server, struct mg_connection *conn)
|
handleGet(CivetServer *server, struct mg_connection *conn)
|
||||||
{
|
{
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/plain\r\nConnection: close\r\n\r\n");
|
||||||
mg_printf(conn, "Bye!\n");
|
mg_printf(conn, "Bye!\n");
|
||||||
exitNow = true;
|
exitNow = true;
|
||||||
return true;
|
return true;
|
||||||
@ -67,7 +75,9 @@ class AHandler : public CivetHandler
|
|||||||
struct mg_connection *conn)
|
struct mg_connection *conn)
|
||||||
{
|
{
|
||||||
std::string s = "";
|
std::string s = "";
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/html\r\nConnection: close\r\n\r\n");
|
||||||
mg_printf(conn, "<html><body>");
|
mg_printf(conn, "<html><body>");
|
||||||
mg_printf(conn, "<h2>This is the A handler for \"%s\" !</h2>", method);
|
mg_printf(conn, "<h2>This is the A handler for \"%s\" !</h2>", method);
|
||||||
if (CivetServer::getParam(conn, "param", s)) {
|
if (CivetServer::getParam(conn, "param", s)) {
|
||||||
@ -98,7 +108,9 @@ class ABHandler : public CivetHandler
|
|||||||
bool
|
bool
|
||||||
handleGet(CivetServer *server, struct mg_connection *conn)
|
handleGet(CivetServer *server, struct mg_connection *conn)
|
||||||
{
|
{
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/html\r\nConnection: close\r\n\r\n");
|
||||||
mg_printf(conn, "<html><body>");
|
mg_printf(conn, "<html><body>");
|
||||||
mg_printf(conn, "<h2>This is the AB handler!!!</h2>");
|
mg_printf(conn, "<h2>This is the AB handler!!!</h2>");
|
||||||
mg_printf(conn, "</body></html>\n");
|
mg_printf(conn, "</body></html>\n");
|
||||||
@ -115,7 +127,9 @@ class FooHandler : public CivetHandler
|
|||||||
/* Handler may access the request info using mg_get_request_info */
|
/* Handler may access the request info using mg_get_request_info */
|
||||||
const struct mg_request_info *req_info = mg_get_request_info(conn);
|
const struct mg_request_info *req_info = mg_get_request_info(conn);
|
||||||
|
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/html\r\nConnection: close\r\n\r\n");
|
||||||
|
|
||||||
mg_printf(conn, "<html><body>\n");
|
mg_printf(conn, "<html><body>\n");
|
||||||
mg_printf(conn, "<h2>This is the Foo GET handler!!!</h2>\n");
|
mg_printf(conn, "<h2>This is the Foo GET handler!!!</h2>\n");
|
||||||
@ -133,12 +147,14 @@ class FooHandler : public CivetHandler
|
|||||||
{
|
{
|
||||||
/* Handler may access the request info using mg_get_request_info */
|
/* Handler may access the request info using mg_get_request_info */
|
||||||
const struct mg_request_info *req_info = mg_get_request_info(conn);
|
const struct mg_request_info *req_info = mg_get_request_info(conn);
|
||||||
size_t rlen, wlen;
|
long long rlen, wlen;
|
||||||
size_t nlen = 0;
|
long long nlen = 0;
|
||||||
size_t tlen = (size_t)req_info->content_length;
|
long long tlen = req_info->content_length;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/html\r\nConnection: close\r\n\r\n");
|
||||||
|
|
||||||
mg_printf(conn, "<html><body>\n");
|
mg_printf(conn, "<html><body>\n");
|
||||||
mg_printf(conn, "<h2>This is the Foo POST handler!!!</h2>\n");
|
mg_printf(conn, "<h2>This is the Foo POST handler!!!</h2>\n");
|
||||||
@ -152,11 +168,17 @@ class FooHandler : public CivetHandler
|
|||||||
|
|
||||||
while (nlen < tlen) {
|
while (nlen < tlen) {
|
||||||
rlen = tlen - nlen;
|
rlen = tlen - nlen;
|
||||||
if (rlen>sizeof(buf)) {rlen=sizeof(buf);}
|
if (rlen > sizeof(buf)) {
|
||||||
|
rlen = sizeof(buf);
|
||||||
|
}
|
||||||
rlen = mg_read(conn, buf, rlen);
|
rlen = mg_read(conn, buf, rlen);
|
||||||
if (rlen<=0) break;
|
if (rlen <= 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
wlen = mg_write(conn, buf, rlen);
|
wlen = mg_write(conn, buf, rlen);
|
||||||
if (rlen!=rlen) break;
|
if (rlen != rlen) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
nlen += wlen;
|
nlen += wlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,12 +192,14 @@ class FooHandler : public CivetHandler
|
|||||||
{
|
{
|
||||||
/* Handler may access the request info using mg_get_request_info */
|
/* Handler may access the request info using mg_get_request_info */
|
||||||
const struct mg_request_info *req_info = mg_get_request_info(conn);
|
const struct mg_request_info *req_info = mg_get_request_info(conn);
|
||||||
size_t rlen, wlen;
|
long long rlen, wlen;
|
||||||
size_t nlen = 0;
|
long long nlen = 0;
|
||||||
size_t tlen = (size_t)req_info->content_length;
|
long long tlen = (size_t)req_info->content_length;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
|
||||||
mg_printf(conn, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n");
|
mg_printf(conn,
|
||||||
|
"HTTP/1.1 200 OK\r\nContent-Type: "
|
||||||
|
"text/html\r\nConnection: close\r\n\r\n");
|
||||||
|
|
||||||
mg_printf(conn, "<html><body>\n");
|
mg_printf(conn, "<html><body>\n");
|
||||||
mg_printf(conn, "<h2>This is the Foo PUT handler!!!</h2>\n");
|
mg_printf(conn, "<h2>This is the Foo PUT handler!!!</h2>\n");
|
||||||
@ -189,11 +213,17 @@ class FooHandler : public CivetHandler
|
|||||||
|
|
||||||
while (nlen < tlen) {
|
while (nlen < tlen) {
|
||||||
rlen = tlen - nlen;
|
rlen = tlen - nlen;
|
||||||
if (rlen>sizeof(buf)) {rlen=sizeof(buf);}
|
if (rlen > sizeof(buf)) {
|
||||||
|
rlen = sizeof(buf);
|
||||||
|
}
|
||||||
rlen = mg_read(conn, buf, rlen);
|
rlen = mg_read(conn, buf, rlen);
|
||||||
if (rlen<=0) break;
|
if (rlen <= 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
wlen = mg_write(conn, buf, rlen);
|
wlen = mg_write(conn, buf, rlen);
|
||||||
if (rlen!=rlen) break;
|
if (rlen != rlen) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
nlen += wlen;
|
nlen += wlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user