14 #ifndef HTTPAUTHORIZATION_H
15 #define HTTPAUTHORIZATION_H
36 class EXPCL_PANDA_DOWNLOADER HTTPAuthorization :
public ReferenceCount {
42 HTTPAuthorization(
const Tokens &tokens,
const URLSpec &url,
45 virtual ~HTTPAuthorization();
47 virtual const std::string &get_mechanism()
const=0;
48 virtual bool is_valid();
50 INLINE
const std::string &get_realm()
const;
51 INLINE
const vector_string &get_domain()
const;
53 virtual std::string generate(HTTPEnum::Method method,
const std::string &request_path,
54 const std::string &username,
const std::string &body)=0;
56 static void parse_authentication_schemes(AuthenticationSchemes &schemes,
57 const std::string &field_value);
59 static std::string base64_encode(
const std::string &s);
60 static std::string base64_decode(
const std::string &s);
63 static size_t scan_quoted_or_unquoted_string(std::string &result,
64 const std::string &source,
69 vector_string _domain;
A base class for all things that want to be reference-counted.
A container for a URL, e.g.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.