HTTP-2-lib
h2_config.hpp
Go to the documentation of this file.
1 // h2_config.hpp
2 
3 #pragma once
4 #include <openssl/ssl.h>
5 #include <unordered_map>
6 #include <string>
7 
8 class h2_config {
9 public:
10  static int nextProtocolCallback(SSL *s, const unsigned char **out,
11  unsigned int *outlen, void *arg);
12  static int selectProtocol(unsigned char **out, unsigned char *outlen,
13  const unsigned char *in, unsigned int inlen);
14  static int alpnSelectProtocolCallback(SSL *ssl, const unsigned char **out,
15  unsigned char *outlength, const unsigned char *in,
16  unsigned int inlen, void *arg);
17  static void configureAlpn(SSL_CTX *ctx);
18  static void createApplicationContext(struct ApplicationContext *appCtx, SSL_CTX *sslCtx, struct event_base *eventBase_, std::unordered_map<std::string, std::string> routes);
19  static SSL_CTX *createSslContext();
20  static void configureContext(SSL_CTX *ctx, const char *certKeyFile, const char *certFile);
21  static void initOpenssl();
22  static void cleanupOpenssl();
23 };
static int selectProtocol(unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen)
Definition: h2_config.cpp:44
Definition: h2_config.hpp:8
static void cleanupOpenssl()
Cleaning up openssl environment.
Definition: h2_config.cpp:218
Struct for holding the application wide context.
Definition: h2_structs.hpp:13
static void configureAlpn(SSL_CTX *ctx)
Definition: h2_config.cpp:113
static void initOpenssl()
Initiates openSSL.
Definition: h2_config.cpp:206
static int alpnSelectProtocolCallback(SSL *ssl, const unsigned char **out, unsigned char *outlength, const unsigned char *in, unsigned int inlen, void *arg)
Definition: h2_config.cpp:85
static void configureContext(SSL_CTX *ctx, const char *certKeyFile, const char *certFile)
Definition: h2_config.cpp:180
static int nextProtocolCallback(SSL *s, const unsigned char **out, unsigned int *outlen, void *arg)
Definition: h2_config.cpp:24
static void createApplicationContext(struct ApplicationContext *appCtx, SSL_CTX *sslCtx, struct event_base *eventBase_, std::unordered_map< std::string, std::string > routes)
Definition: h2_config.cpp:133
static SSL_CTX * createSslContext()
Definition: h2_config.cpp:150
struct ApplicationContext appCtx
Definition: h2_server.cpp:16