MySQL 8.0.40
Source Code Documentation
http_common.cc File Reference
#include "mysqlrouter/http_common.h"
#include <cstring>
#include <iostream>
#include <map>
#include <memory>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <utility>
#include <event2/buffer.h>
#include <event2/bufferevent.h>
#include <event2/bufferevent_ssl.h>
#include <event2/event.h>
#include <event2/http.h>
#include <event2/http_struct.h>
#include <event2/keyvalq_struct.h>
#include <event2/listener.h>
#include <event2/thread.h>
#include <event2/util.h>
#include "http_request_impl.h"
#include "mysql/harness/utility/string.h"
#include "mysqlrouter/http_request.h"

Classes

struct  EventBase::impl
 
struct  EventBuffer::impl
 
struct  EventHttp::impl
 
class  EventHttp::impl::EvHttpDeleter
 
struct  HttpUri::impl
 
struct  HttpBuffer::impl
 
struct  HttpHeaders::impl
 
struct  RequestHandlerCtx
 

Functions

template<typename Unique >
auto impl_get_base (Unique &unique)
 API Facade around libevent's http interface. More...
 
template<typename Impl , typename InnerType , typename Function_type >
std::unique_ptr< Impl > impl_new (InnerType *inner, Function_type function)
 
static evkeyval * get_node (HttpHeaders::Iterator::IteratorHandle handle)
 
std::string http_uri_path_canonicalize (const std::string &uri_path)
 canonicalize a URI path. More...
 

Function Documentation

◆ get_node()

static evkeyval * get_node ( HttpHeaders::Iterator::IteratorHandle  handle)
static

◆ http_uri_path_canonicalize()

std::string http_uri_path_canonicalize ( const std::string &  uri_path)

canonicalize a URI path.

input output
/ /
/./ /
// /
/../ /
/a/../ /
/../a/ /a/
/../a /a

◆ impl_get_base()

template<typename Unique >
auto impl_get_base ( Unique unique)

API Facade around libevent's http interface.

◆ impl_new()

template<typename Impl , typename InnerType , typename Function_type >
std::unique_ptr< Impl > impl_new ( InnerType *  inner,
Function_type  function 
)