30#include <boost/optional/optional.hpp>
31#include <boost/utility/string_ref.hpp>
39#undef MONERO_DEFAULT_LOG_CATEGORY
40#define MONERO_DEFAULT_LOG_CATEGORY "net.http"
88 boost::optional<session>
user;
108 std::function<std::string(
const session&, boost::string_ref, boost::string_ref)>;
111 keys(std::string nonce_, std::string opaque_, std::string realm_,
algorithm generator_)
158 const boost::string_ref method,
const boost::string_ref
uri)
167 boost::optional<std::pair<std::string, std::string>>
do_get_auth_field(boost::string_ref, boost::string_ref);
Implements RFC 2617 digest auth. Digests from RFC 7616 can be added.
Definition: http_auth.h:95
status handle_401(const http_response_info &response)
Definition: http_auth.h:143
boost::optional< std::pair< std::string, std::string > > do_get_auth_field(boost::string_ref, boost::string_ref)
Definition: http_auth.cpp:766
status
Definition: http_auth.h:97
@ kSuccess
Definition: http_auth.h:97
@ kParseFailure
Definition: http_auth.h:97
@ kBadPassword
Definition: http_auth.h:97
status do_handle_401(const http_response_info &)
Definition: http_auth.cpp:753
boost::optional< std::pair< std::string, std::string > > get_auth_field(const boost::string_ref method, const boost::string_ref uri)
Definition: http_auth.h:157
boost::optional< session > user
Definition: http_auth.h:169
http_client_auth()
Definition: http_auth.h:129
Implements RFC 2617 digest auth. Digests from RFC 7616 can be added.
Definition: http_auth.h:61
boost::optional< session > user
Definition: http_auth.h:88
boost::optional< http_response_info > get_response(const http_request_info &request)
Definition: http_auth.h:78
std::function< void(size_t, uint8_t *)> rng
Definition: http_auth.h:90
boost::optional< http_response_info > do_get_response(const http_request_info &request)
Definition: http_auth.cpp:712
http_server_auth()
Definition: http_auth.h:74
Definition: wipeable_string.h:41
Definition: abstract_http_client.h:60
TODO: (mj-xmr) This will be reduced in an another PR.
Definition: byte_slice.h:40
unsigned char uint8_t
Definition: stdint.h:124
Definition: http_auth.h:106
std::function< std::string(const session &, boost::string_ref, boost::string_ref)> algorithm
Definition: http_auth.h:108
std::string opaque
Definition: http_auth.h:119
std::string nonce
Definition: http_auth.h:118
keys(std::string nonce_, std::string opaque_, std::string realm_, algorithm generator_)
Definition: http_auth.h:111
std::string realm
Definition: http_auth.h:120
algorithm generator
Definition: http_auth.h:121
keys()
Definition: http_auth.h:110
Definition: http_auth.h:100
std::uint32_t counter
Definition: http_auth.h:126
keys server
Definition: http_auth.h:125
session(login credentials_)
Definition: http_auth.h:101
login credentials
Definition: http_auth.h:124
Definition: http_base.h:132
Definition: http_base.h:163
Definition: http_auth.h:64
std::string nonce
Definition: http_auth.h:70
login credentials
Definition: http_auth.h:69
session(login credentials_)
Definition: http_auth.h:65
std::uint32_t counter
Definition: http_auth.h:71
Definition: http_auth.h:49
std::string username
Definition: http_auth.h:55
wipeable_string password
Definition: http_auth.h:56
login()
Definition: http_auth.h:50
login(std::string username_, wipeable_string password_)
Definition: http_auth.h:51