Skip to content

Commit

Permalink
Rename http_backend to http_server.
Browse files Browse the repository at this point in the history
  • Loading branch information
matt-42 committed Oct 18, 2020
1 parent 2838495 commit 28e261b
Show file tree
Hide file tree
Showing 52 changed files with 90 additions and 76 deletions.
29 changes: 0 additions & 29 deletions libraries/http_backend/http_backend/http_backend.hh

This file was deleted.

File renamed without changes.
@@ -1,4 +1,4 @@
li::http_backend: Coroutine based, Asynchronous, Low Latency and High Throughput HTTP Server
li::http_server: Coroutine based, Asynchronous, Low Latency and High Throughput HTTP Server
=================================

This library goal is to ease the development of HTTP APIs without
Expand Down Expand Up @@ -31,15 +31,15 @@ Only linux is supported (epoll).

The quickest way to start developing an api is to use the single header distribution:
```sh
wget https://raw.githubusercontent.com/matt-42/lithium/master/single_headers/lithium_http_backend.hh
wget https://raw.githubusercontent.com/matt-42/lithium/master/single_headers/lithium_http_server.hh
```

More info here: https://github.com/matt-42/lithium/tree/master/INSTALL.md

Write an api:
```c++
// hello_lithium.cc
#include "lithium_http_backend.hh"
#include "lithium_http_server.hh"

using namespace li;

Expand Down Expand Up @@ -107,7 +107,7 @@ else

## Error handling

`li::http_backend` uses exceptions to report HTTP errors.
`li::http_server` uses exceptions to report HTTP errors.

```c++
http_api api;
Expand Down Expand Up @@ -221,7 +221,7 @@ Note that when using it, ORM callbacks must take `http_request& request, http_re
as additional arguments.

Check the code for more info:
https://github.com/matt-42/lithium/blob/master/libraries/http_backend/http_backend/sql_crud_api.hh
https://github.com/matt-42/lithium/blob/master/libraries/http_server/http_server/sql_crud_api.hh


## Sessions
Expand Down Expand Up @@ -303,7 +303,7 @@ my_api.post("/auth_test") = [&] (http_request& request, http_response& response)
```
Check the code for more info:
https://github.com/matt-42/lithium/blob/master/libraries/http_backend/http_backend/http_authentication.hh
https://github.com/matt-42/lithium/blob/master/libraries/http_server/http_server/http_authentication.hh
# Testing
Expand All @@ -323,7 +323,7 @@ assert(r.body == "expected response body");
# A complete blog API

Checkout the code here:
https://github.com/matt-42/lithium/blob/master/libraries/http_backend/examples/blog.cc
https://github.com/matt-42/lithium/blob/master/libraries/http_server/examples/blog.cc

# What is the s:: namespace ?

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Expand Up @@ -2,9 +2,9 @@

#include <functional>
#include <iostream>
#include <li/http_backend/dynamic_routing_table.hh>
#include <li/http_backend/error.hh>
#include <li/http_backend/symbols.hh>
#include <li/http_server/dynamic_routing_table.hh>
#include <li/http_server/error.hh>
#include <li/http_server/symbols.hh>
#include <string_view>

namespace li {
Expand Down
File renamed without changes.
@@ -1,6 +1,6 @@
#pragma once

#include <li/http_backend/output_buffer.hh>
#include <li/http_server/output_buffer.hh>

namespace li {

Expand Down
@@ -1,6 +1,6 @@
#pragma once

#include <li/http_backend/random_cookie.hh>
#include <li/http_server/random_cookie.hh>
#include <mutex>

namespace li {
Expand Down
Expand Up @@ -2,8 +2,8 @@

#include <optional>

#include <li/http_backend/api.hh>
#include <li/http_backend/sql_http_session.hh>
#include <li/http_server/api.hh>
#include <li/http_server/sql_http_session.hh>

namespace li {

Expand Down
Expand Up @@ -14,12 +14,12 @@

#include <boost/lexical_cast.hpp>

#include <li/http_backend/output_buffer.hh>
#include <li/http_backend/input_buffer.hh>
#include <li/http_backend/error.hh>
#include <li/http_backend/symbols.hh>
#include <li/http_backend/tcp_server.hh>
#include <li/http_backend/url_unescape.hh>
#include <li/http_server/output_buffer.hh>
#include <li/http_server/input_buffer.hh>
#include <li/http_server/error.hh>
#include <li/http_server/symbols.hh>
#include <li/http_server/tcp_server.hh>
#include <li/http_server/url_unescape.hh>

namespace li {

Expand Down Expand Up @@ -609,8 +609,8 @@ template <typename F> auto make_http_processor(F handler) {
} // namespace http_async_impl
} // namespace li

#include <li/http_backend/request.hh>
#include <li/http_backend/response.hh>
#include <li/http_server/request.hh>
#include <li/http_server/response.hh>

namespace li {

Expand Down Expand Up @@ -657,7 +657,7 @@ auto http_serve(api<http_request, http_response> api, int port, O... opts) {
});

auto server_thread = std::make_shared<std::thread>([=]() {
std::cout << "Starting lithium::http_backend on port " << port << std::endl;
std::cout << "Starting lithium::http_server on port " << port << std::endl;

if constexpr (has_key(options, s::ssl_key))
{
Expand Down
29 changes: 29 additions & 0 deletions libraries/http_server/http_server/http_server.hh
@@ -0,0 +1,29 @@
#pragma once

#include <li/json/json.hh>
#include <li/sql/sql_common.hh>
#include <li/sql/sql_orm.hh>

#include <li/http_server/api.hh>
#include <li/http_server/http_serve.hh>
#include <li/http_server/request.hh>
#include <li/http_server/response.hh>

namespace li {
using http_api = api<http_request, http_response>;
}

#include <li/http_server/hashmap_http_session.hh>
#include <li/http_server/http_authentication.hh>
//#include <li/http_server/mhd.hh>
#include <li/http_server/serve_directory.hh>
#include <li/http_server/sql_crud_api.hh>
#include <li/http_server/sql_http_session.hh>
#include <li/http_server/symbols.hh>
#include <li/http_server/growing_output_buffer.hh>

#if __linux__
#include <li/http_server/http_benchmark.hh>
#endif

#include <li/http_server/lru_cache.hh>
Expand Up @@ -36,12 +36,12 @@ void usleep(__int64 usec) {

#include <li/json/json.hh>

//#include <li/http_backend/file.hh>
#include <li/http_backend/error.hh>
#include <li/http_backend/request.hh>
#include <li/http_backend/response.hh>
#include <li/http_backend/symbols.hh>
//#include <li/http_backend/url_decode.hh>
//#include <li/http_server/file.hh>
#include <li/http_server/error.hh>
#include <li/http_server/request.hh>
#include <li/http_server/response.hh>
#include <li/http_server/symbols.hh>
//#include <li/http_server/url_decode.hh>

namespace li {
using namespace li;
Expand Down
Expand Up @@ -2,8 +2,8 @@

#include <random>
#include <sstream>
#include <li/http_backend/response.hh>
#include <li/http_backend/request.hh>
#include <li/http_server/response.hh>
#include <li/http_server/request.hh>

namespace li {

Expand Down
Expand Up @@ -10,8 +10,8 @@
#include <vector>


#include <li/http_backend/error.hh>
#include <li/http_backend/url_decode.hh>
#include <li/http_server/error.hh>
#include <li/http_server/url_decode.hh>

#include <li/metamap/metamap.hh>

Expand Down
@@ -1,6 +1,6 @@
#pragma once

#include <li/http_backend/response.hh>
#include <li/http_server/response.hh>
#include <string>

namespace li {
Expand Down
@@ -1,6 +1,6 @@
#pragma once

#include <li/http_backend/error.hh>
#include <li/http_server/error.hh>
#include <li/json/json.hh>
#include <li/sql/sql_orm.hh>

Expand Down
@@ -1,6 +1,6 @@
#pragma once

#include <li/http_backend/random_cookie.hh>
#include <li/http_server/random_cookie.hh>
#include <li/sql/sql_orm.hh>
#include <li/sql/sql_common.hh>

Expand Down
@@ -1,6 +1,6 @@
#pragma once

#include <li/http_backend/tcp_server.hh>
#include <li/http_server/tcp_server.hh>
#include <openssl/err.h>
#include <openssl/ssl.h>

Expand Down
Expand Up @@ -26,7 +26,7 @@

#include <boost/context/continuation.hpp>

#include <li/http_backend/ssl_context.hh>
#include <li/http_server/ssl_context.hh>

namespace li {

Expand Down
Expand Up @@ -10,8 +10,8 @@
#endif

#include <boost/lexical_cast.hpp>
#include <li/http_backend/error.hh>
#include <li/http_backend/symbols.hh>
#include <li/http_server/error.hh>
#include <li/http_server/symbols.hh>
#include <li/metamap/metamap.hh>

namespace li {
Expand Down
File renamed without changes.
File renamed without changes.
@@ -1,4 +1,4 @@
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>
#include <lithium_http_client.hh>
#include "symbols.hh"

Expand Down
@@ -1,4 +1,4 @@
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>
#include <lithium_http_client.hh>
#include "symbols.hh"

Expand Down
@@ -1,4 +1,4 @@
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>
#include "symbols.hh"

using namespace li;
Expand Down
14 changes: 14 additions & 0 deletions libraries/http_server/tests/reactor.cc
@@ -0,0 +1,14 @@


enum status {
READ,
WRITE,
EOF
};

event_loop([] (int fd, status s, auto event_queue) {

event_queue.add(new_fd, RW);
event_queue.mod(new_fd, RW);
event_queue.del(new_fd, RW);
});
@@ -1,5 +1,5 @@
#include "test.hh"
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>

#include <sched.h>
#include <sys/resource.h>
Expand Down
Expand Up @@ -2,7 +2,7 @@
#include "test.hh"
#include <filesystem>
#include <fstream>
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>


using namespace li;
Expand Down
File renamed without changes.
File renamed without changes.
@@ -1,6 +1,6 @@
#include "symbols.hh"
#include <iostream>
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>


using namespace li;
Expand Down
@@ -1,5 +1,5 @@
#include "test.hh"
#include <lithium_http_backend.hh>
#include <lithium_http_server.hh>


#include "symbols.hh"
Expand Down

0 comments on commit 28e261b

Please sign in to comment.