eweb's People
Forkers
linecodeeweb's Issues
Support HTTPS
Asio supports TLS, so this should be a simple one.
HTTPS password
Load key encryption password from password file, from command line, or from terminal.
HTTPS to HTTP redirect
Make this easy/convenient with example server.
Add caching to file server
Maybe with C++17 filesystem to dump cache whenever update timestamp changes?
Change "Reply" to "Response"
I really should use standard terminology.
Better header definitions
Right now, I have a vector of pairs of std::string
. It would be a lot simpler to define headers with a map-like format. During parsing, it will need to handle repeated headers. According to stackoverflow, duplicate headers should be treated as if they were separate elements in a comma-separated list.
Single class running both http and https
Should have a convenient options class for setting up common uses.
Check for ASIO_STANDALONE
Right now, I assume that ASIO_STANDALONE is being used, with std::error_code
and asio
in the root namespace. I should instead check for its definition, and use boost::error_code
and boost::asio
if it is not present.
Appropriately parse GET params in URIInfo.cc
Method is currently empty.
HTTP/1.1 Persistent Connections
Support them.
Parse headers with std::regex
I don't like the current state machine, and find regexes to be easier and more readable to use.
POST support
Currently, only GET requests are supported. Should also support POST requests, and parsing of POST parameters.
Automatically set Content-Length
Seems like something that the server should handle, so that it doesn't need to be set in every single generator that may exist.
No ssl dependency if not needed
Currently, requires openssl, and compiling with -lssl -lcrypto
. If only an http server is needed, shouldn't require those options. Preprocessor macro to enable https?
FileServer should optionally show directory.
If a directory does not have an index.html or index.htm, it should display the directory contents. This would require C++17 <filesystem>
usage, so perhaps it should be ifdef'ed out when __cplusplus < 201703L
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.