CCF
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions
endpoint.h File Reference
#include "ccf/ds/json.h"
#include "ccf/ds/openapi.h"
#include "ccf/endpoint_context.h"
#include "ccf/http_consts.h"
#include "ccf/rest_verb.h"
#include "ccf/service/map.h"
#include <string>
#include <utility>

Go to the source code of this file.

Classes

struct  ccf::endpoints::EndpointKey
 
struct  ccf::kv::serialisers::BlitSerialiser< ccf::endpoints::EndpointKey >
 
struct  ccf::endpoints::InterpreterReusePolicy
 
struct  ccf::endpoints::EndpointProperties
 
struct  ccf::endpoints::EndpointDefinition
 
struct  ccf::endpoints::Endpoint
 
struct  ccf::endpoints::Endpoint::Installer
 
struct  formatter< ccf::endpoints::ForwardingRequired >
 

Namespaces

namespace  ccf
 
namespace  ccf::endpoints
 
namespace  ccf::kv
 
namespace  ccf::kv::serialisers
 
namespace  ccf::endpoints::Tables
 

Typedefs

using ccf::endpoints::URI = std::string
 
using ccf::endpoints::EndpointDefinitionPtr = std::shared_ptr< const EndpointDefinition >
 
using ccf::endpoints::EndpointsMap = ccf::ServiceMap< EndpointKey, EndpointProperties >
 
using ccf::endpoints::EndpointPtr = std::shared_ptr< const Endpoint >
 

Enumerations

enum class  ccf::endpoints::ForwardingRequired { ccf::endpoints::Sometimes , ccf::endpoints::Always , ccf::endpoints::Never }
 
enum class  ccf::endpoints::RedirectionStrategy { ccf::endpoints::None , ccf::endpoints::ToPrimary , ccf::endpoints::ToBackup }
 
enum class  ccf::endpoints::Mode { ccf::endpoints::ReadWrite , ccf::endpoints::ReadOnly , ccf::endpoints::Historical }
 
enum  ccf::endpoints::QueryParamPresence { ccf::endpoints::RequiredParameter , ccf::endpoints::OptionalParameter }
 

Functions

 ccf::endpoints::DECLARE_JSON_TYPE (EndpointKey)
 
 ccf::endpoints::DECLARE_JSON_REQUIRED_FIELDS (EndpointKey, uri_path, verb)
 
 ccf::endpoints::DECLARE_JSON_ENUM (ForwardingRequired, {{ForwardingRequired::Sometimes, "sometimes"}, {ForwardingRequired::Always, "always"}, {ForwardingRequired::Never, "never"}})
 
 ccf::endpoints::DECLARE_JSON_ENUM (RedirectionStrategy, {{RedirectionStrategy::None, "none"}, {RedirectionStrategy::ToPrimary, "to_primary"}, {RedirectionStrategy::ToBackup, "to_backup"}})
 
 ccf::endpoints::DECLARE_JSON_ENUM (Mode, {{Mode::ReadWrite, "readwrite"}, {Mode::ReadOnly, "readonly"}, {Mode::Historical, "historical"}})
 
void ccf::endpoints::to_json (nlohmann::json &j, const InterpreterReusePolicy &grp)
 
void ccf::endpoints::from_json (const nlohmann::json &j, InterpreterReusePolicy &grp)
 
std::string ccf::endpoints::schema_name (const InterpreterReusePolicy *)
 
void ccf::endpoints::fill_json_schema (nlohmann::json &schema, const InterpreterReusePolicy *)
 
 ccf::endpoints::DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS (EndpointProperties)
 
 ccf::endpoints::DECLARE_JSON_REQUIRED_FIELDS (EndpointProperties, forwarding_required, authn_policies)
 
 ccf::endpoints::DECLARE_JSON_OPTIONAL_FIELDS (EndpointProperties, openapi, openapi_hidden, mode, js_module, js_function, interpreter_reuse, redirection_strategy)