MySQL 8.3.0
Source Code Documentation
http_server_plugin.cc File Reference
#include <array>
#include <atomic>
#include <chrono>
#include <future>
#include <memory>
#include <mutex>
#include <sstream>
#include <stdexcept>
#include <system_error>
#include <thread>
#include <sys/types.h>
#include "my_thread.h"
#include "mysql/harness/config_option.h"
#include "mysql/harness/config_parser.h"
#include "mysql/harness/loader.h"
#include "mysql/harness/logging/logging.h"
#include "mysql/harness/net_ts/impl/socket_error.h"
#include "mysql/harness/net_ts/internet.h"
#include "mysql/harness/net_ts/io_context.h"
#include "mysql/harness/net_ts/socket.h"
#include "mysql/harness/plugin.h"
#include "mysql/harness/plugin_config.h"
#include "mysql/harness/stdx/expected.h"
#include "mysql/harness/utility/string.h"
#include "scope_guard.h"
#include "http_auth.h"
#include "http_server_plugin.h"
#include "mysql/harness/tls_server_context.h"
#include "mysqlrouter/http_auth_realm_component.h"
#include "mysqlrouter/http_common.h"
#include "mysqlrouter/http_server_component.h"
#include "mysqlrouter/supported_http_options.h"
#include "static_files.h"

Classes

class  HttpRequestMainThread
 
class  HttpsRequestMainThread
 
class  HttpRequestWorkerThread
 
class  HttpsRequestWorkerThread
 
class  HttpsServer
 
class  HttpServerPluginConfig
 
class  HttpServerFactory
 

Macros

#define GET_OPTION_CHECKED(option, section, name, value)
 

Functions

static void init (mysql_harness::PluginFuncEnv *env)
 
static void deinit (mysql_harness::PluginFuncEnv *)
 
static void start (mysql_harness::PluginFuncEnv *env)
 

Variables

static constexpr const char kSectionName [] {"http_server"}
 HTTP server plugin. More...
 
static std::map< std::string, std::shared_ptr< HttpServer > > http_servers
 
static const std::array< const char *, 3 > required
 
mysql_harness::Plugin HTTP_SERVER_EXPORT harness_plugin_http_server
 

Macro Definition Documentation

◆ GET_OPTION_CHECKED

#define GET_OPTION_CHECKED (   option,
  section,
  name,
  value 
)
Value:
static_assert( \
option = get_option(section, name, value);
static std::string get_option(const mysql_harness::ConfigSection *section, const std::string &key, const std::string &def_value)
Definition: metadata_cache_plugin.cc:110
constexpr bool str_in_collection(const T &t, const std::string_view &k)
Definition: string.h:156
case opt name
Definition: sslopt-case.h:32
static constexpr std::array< const char *, 10 > http_server_supported_options
Definition: supported_http_options.h:30

Function Documentation

◆ deinit()

static void deinit ( mysql_harness::PluginFuncEnv )
static

◆ init()

static void init ( mysql_harness::PluginFuncEnv env)
static

◆ start()

static void start ( mysql_harness::PluginFuncEnv env)
static

Variable Documentation

◆ harness_plugin_http_server

mysql_harness::Plugin HTTP_SERVER_EXPORT harness_plugin_http_server
Initial value:
= {
mysql_harness::PLUGIN_ABI_VERSION,
mysql_harness::ARCHITECTURE_DESCRIPTOR,
"HTTP_SERVER",
VERSION_NUMBER(0, 0, 1),
required.size(),
required.data(),
0,
nullptr,
init,
nullptr,
true,
}
static void init(mysql_harness::PluginFuncEnv *env)
Definition: http_server_plugin.cc:546
static const std::array< const char *, 3 > required
Definition: http_server_plugin.cc:670
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_server_plugin.cc:625
static void deinit(mysql_harness::PluginFuncEnv *)
Definition: http_server_plugin.cc:623

◆ http_servers

std::map<std::string, std::shared_ptr<HttpServer> > http_servers
static

◆ kSectionName

constexpr const char kSectionName[] {"http_server"}
staticconstexpr

HTTP server plugin.

◆ required

const std::array<const char *, 3> required
static
Initial value:
= {{
"logger",
"router_openssl",
"router_protobuf",
}}