Comments (8)
Lol, sure, I'll do it for the fame and fortune!
from simple-web-server.
Brilliant! Would you mind creating a pull request so that you get credited for this:)?
from simple-web-server.
@eidheim Can't seem to push my PR. Getting permission denied.
from simple-web-server.
@SethHamilton You need to fork this repository on your account, then you push your changes there. Then you can create a Pull Request to eidheim's repo.
from simple-web-server.
I've made the PR here: #214
This is failing CI, but I think it's because it's not set to the C++17 standard for compilation.
from simple-web-server.
@pboettch @eidheim Ok, so, there is a (stupid) flaw with __has_include
, it checks for the presence of the include, not whether it will compile or not. When not compiling with C++17 flags it will still pass. I'm now thinking a simple USE_CPP17_STRING_VIEW
define might be the best way of selecting this.
The alternative would be to use the __cplusplus
flag and check for C++17, but compilers like MSVC are refusing to switch this flag to the standard date for C++17 until they are fully compliant (gcc and clang don't seem to make this distinction). So, the option there would be to test for the right __cplusplus
version if it's not MSVC and perhaps another test for a specific MSVC define (if I can find one).
from simple-web-server.
like perhaps something like this:
#if defined(__has_include) && __has_include(<string_view>) && (__cplusplus >> 201402L || (defined(_MSC_VER) && _MSC_VER >= 1912))
#include <string_view>
namespace SimpleWeb { using string_view = std::string_view; }
#elif !defined(USE_STANDALONE_ASIO)
#include <boost/utility/string_ref.hpp>
namespace SimpleWeb { using string_view = boost::string_ref; }
#else
namespace SimpleWeb { using string_view = const std::string &; }
#endif
I'm starting to lean toward something like USE_CPP17_STRING_VIEW
, but I also see that potentially limiting going forward, C++17 features like string_view
are going to be normal eventually.
from simple-web-server.
This is compiling. I've added two tests with the s-std=c++17
compiler flag with and without USE_STANDALONE_ASIO
#214
from simple-web-server.
Related Issues (20)
- Server 125 errors HOT 3
- Fully loads one kernel HOT 2
- Should we be using map instead of multimap for headers? HOT 1
- glaceful close ssl socket HOT 3
- x32 libs and x64 includes HOT 3
- How do you get the port number and detect when a connection has closed? HOT 2
- thread safe example for Fileserver HOT 7
- httpclient :Can i read the response in the same thread which sent request. HOT 1
- http_Server revice unidentifiable Chinese code? HOT 3
- "accept: Already open" error when using HTTP-Client within cucumber test framework HOT 2
- multithreads in http HOT 25
- C2039 'tlsv12': is not a member of 'boost::asio::ssl::context' server_https.hpp HOT 8
- The Networking TS HOT 1
- HttpClient::request() HOT 1
- On timeout in client, the error code is operation_aborted instead of the more appropriate asio::error::timed_out HOT 2
- 【warning C4996】Why is there such a warning? HOT 5
- Http client with partial results HOT 2
- SSL Pinning
- Multi-part support HOT 1
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.
from simple-web-server.