15 #ifndef HTTPAUTHORIZATION_H 16 #define HTTPAUTHORIZATION_H 18 #include "pandabase.h" 26 #include "referenceCount.h" 39 class EXPCL_PANDAEXPRESS HTTPAuthorization :
public ReferenceCount {
45 HTTPAuthorization(
const Tokens &tokens,
const URLSpec &url,
48 virtual ~HTTPAuthorization();
50 virtual const string &get_mechanism()
const=0;
51 virtual bool is_valid();
53 INLINE
const string &get_realm()
const;
54 INLINE
const vector_string &get_domain()
const;
56 virtual string generate(HTTPEnum::Method method,
const string &request_path,
57 const string &username,
const string &body)=0;
59 static void parse_authentication_schemes(AuthenticationSchemes &schemes,
60 const string &field_value);
62 static string base64_encode(
const string &s);
63 static string base64_decode(
const string &s);
66 static size_t scan_quoted_or_unquoted_string(
string &result,
72 vector_string _domain;
75 #include "httpAuthorization.I" 77 #endif // HAVE_OPENSSL
A container for a URL, e.g.
A base class for all things that want to be reference-counted.