Test serving over SSL
This commit is contained in:
@@ -56,7 +56,12 @@ int main(int argc, char **argv) {
|
||||
|
||||
uWS::Loop loop;
|
||||
|
||||
uWS::HttpContext<false> *httpContext = uWS::HttpContext<false>::create(loop.loop);
|
||||
us_ssl_socket_context_options ssl_options;
|
||||
ssl_options.key_file_name = "/home/alexhultman/uWebSockets/misc/ssl/key.pem";
|
||||
ssl_options.cert_file_name = "/home/alexhultman/uWebSockets/misc/ssl/cert.pem";
|
||||
ssl_options.passphrase = "1234";
|
||||
|
||||
uWS::HttpContext<true> *httpContext = uWS::HttpContext<true>::create(loop.loop, &ssl_options);
|
||||
|
||||
// req, res?
|
||||
httpContext->onGet("/:folder/:file", [](auto *res, auto *req) {
|
||||
|
||||
@@ -37,7 +37,11 @@ protected:
|
||||
}
|
||||
|
||||
LoopData *getLoopData() {
|
||||
return (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((SOCKET_TYPE *) this)));
|
||||
if constexpr(SSL) {
|
||||
return (LoopData *) us_loop_ext(us_ssl_socket_context_loop(us_ssl_socket_get_context((SOCKET_TYPE *) this)));
|
||||
} else {
|
||||
return (LoopData *) us_loop_ext(us_socket_context_loop(us_socket_get_context((SOCKET_TYPE *) this)));
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
@@ -31,7 +31,7 @@ private:
|
||||
}
|
||||
|
||||
static SOCKET_CONTEXT_TYPE *getSocketContext(SOCKET_TYPE *s) {
|
||||
return (SOCKET_CONTEXT_TYPE *) us_socket_get_context(s);
|
||||
return (SOCKET_CONTEXT_TYPE *) static_dispatch(us_ssl_socket_get_context, us_socket_get_context)(s);
|
||||
}
|
||||
|
||||
HttpContextData<SSL> *getSocketContextData() {
|
||||
@@ -164,8 +164,15 @@ private:
|
||||
|
||||
public:
|
||||
/* Construct a new HttpContext using specified loop */
|
||||
static HttpContext *create(us_loop *loop) {
|
||||
HttpContext *httpContext = (HttpContext *) us_create_socket_context(loop, sizeof(HttpContextData<SSL>));
|
||||
static HttpContext *create(us_loop *loop, us_ssl_socket_context_options *ssl_options = nullptr) {
|
||||
HttpContext *httpContext;
|
||||
|
||||
if constexpr(SSL) {
|
||||
httpContext = (HttpContext *) us_create_ssl_socket_context(loop, sizeof(HttpContextData<SSL>), *ssl_options);
|
||||
} else {
|
||||
httpContext = (HttpContext *) us_create_socket_context(loop, sizeof(HttpContextData<SSL>));
|
||||
}
|
||||
|
||||
|
||||
new ((HttpContextData<SSL> *) static_dispatch(us_ssl_socket_context_ext, us_socket_context_ext)((SOCKET_CONTEXT_TYPE *) httpContext)) HttpContextData<SSL>();
|
||||
return httpContext->init();
|
||||
|
||||
Reference in New Issue
Block a user