Apache Mesos
Classes | Namespaces | Functions | Variables
http.hpp File Reference
#include <vector>
#include <mesos/http.hpp>
#include <mesos/mesos.hpp>
#include <mesos/authorizer/authorizer.hpp>
#include <mesos/quota/quota.hpp>
#include <process/future.hpp>
#include <process/http.hpp>
#include <process/owned.hpp>
#include <stout/hashmap.hpp>
#include <stout/hashset.hpp>
#include <stout/json.hpp>
#include <stout/jsonify.hpp>
#include <stout/protobuf.hpp>
#include <stout/unreachable.hpp>

Go to the source code of this file.

Classes

struct  mesos::internal::RequestMediaTypes
 
class  mesos::AcceptingObjectApprover
 
class  mesos::AuthorizationAcceptor
 
class  mesos::IDAcceptor< T >
 Used to filter results for API handlers. More...
 

Namespaces

 mesos
 
 mesos::internal
 
 mesos::authorization
 

Functions

std::string mesos::internal::serialize (ContentType contentType, const google::protobuf::Message &message)
 
template<typename Message >
Try< Message > mesos::internal::deserialize (ContentType contentType, const std::string &body)
 
bool mesos::internal::streamingMediaType (ContentType contentType)
 
JSON::Object mesos::internal::model (const Resources &resources)
 
JSON::Object mesos::internal::model (const hashmap< std::string, Resources > &roleResources)
 
JSON::Object mesos::internal::model (const Attributes &attributes)
 
JSON::Object mesos::internal::model (const CommandInfo &command)
 
JSON::Object mesos::internal::model (const ExecutorInfo &executorInfo)
 
JSON::Array mesos::internal::model (const Labels &labels)
 
JSON::Object mesos::internal::model (const Task &task)
 
JSON::Object mesos::internal::model (const FileInfo &fileInfo)
 
JSON::Object mesos::internal::model (const quota::QuotaInfo &quotaInfo)
 
void mesos::internal::json (JSON::ObjectWriter *writer, const Task &task)
 
void mesos::json (JSON::ObjectWriter *writer, const Attributes &attributes)
 
void mesos::json (JSON::ObjectWriter *writer, const CommandInfo &command)
 
void mesos::json (JSON::ObjectWriter *writer, const ExecutorInfo &executorInfo)
 
void mesos::json (JSON::ArrayWriter *writer, const Labels &labels)
 
void mesos::json (JSON::ObjectWriter *writer, const Resources &resources)
 
void mesos::json (JSON::ObjectWriter *writer, const Task &task)
 
void mesos::json (JSON::ObjectWriter *writer, const TaskStatus &status)
 
void mesos::json (JSON::ObjectWriter *writer, const DomainInfo &domainInfo)
 
const Option
< authorization::Subject > 
mesos::authorization::createSubject (const Option< process::http::authentication::Principal > &principal)
 
const
process::http::authorization::AuthorizationCallbacks 
mesos::createAuthorizationCallbacks (Authorizer *authorizer)
 
bool mesos::approveViewFrameworkInfo (const process::Owned< ObjectApprover > &frameworksApprover, const FrameworkInfo &frameworkInfo)
 
bool mesos::approveViewExecutorInfo (const process::Owned< ObjectApprover > &executorsApprover, const ExecutorInfo &executorInfo, const FrameworkInfo &frameworkInfo)
 
bool mesos::approveViewTaskInfo (const process::Owned< ObjectApprover > &tasksApprover, const TaskInfo &taskInfo, const FrameworkInfo &frameworkInfo)
 
bool mesos::approveViewTask (const process::Owned< ObjectApprover > &tasksApprover, const Task &task, const FrameworkInfo &frameworkInfo)
 
bool mesos::approveViewFlags (const process::Owned< ObjectApprover > &flagsApprover)
 
process::Future< bool > mesos::authorizeEndpoint (const std::string &endpoint, const std::string &method, const Option< Authorizer * > &authorizer, const Option< process::http::authentication::Principal > &principal)
 
bool mesos::approveViewRole (const process::Owned< ObjectApprover > &rolesApprover, const std::string &role)
 
bool mesos::authorizeResource (const Resource &resource, const Option< process::Owned< AuthorizationAcceptor >> &acceptor)
 
Try< Nothingmesos::initializeHttpAuthenticators (const std::string &realm, const std::vector< std::string > &httpAuthenticatorNames, const Option< Credentials > &credentials=None(), const Option< std::string > &jwtSecretKey=None())
 Helper function to create HTTP authenticators for a given realm and register in libprocess. More...
 
void mesos::logRequest (const process::http::Request &request)
 

Variables

constexpr char mesos::internal::DEFAULT_BASIC_HTTP_AUTHENTICATOR [] = "basic"
 
constexpr char mesos::internal::DEFAULT_BASIC_HTTP_AUTHENTICATEE [] = "basic"
 
constexpr char mesos::internal::DEFAULT_JWT_HTTP_AUTHENTICATOR [] = "jwt"
 
hashset< std::string > mesos::internal::AUTHORIZABLE_ENDPOINTS