class Poco::Net::HTTPBasicCredentials

Overview

This is a utility class for working with HTTP Basic Authentication in HTTPRequest objects. More…

#include <HTTPBasicCredentials.h>

class HTTPBasicCredentials
{
public:
    // fields

    static const std::string SCHEME;

    // construction

    HTTPBasicCredentials();

    HTTPBasicCredentials(
        const std::string& username,
        const std::string& password
        );

    HTTPBasicCredentials(const HTTPRequest& request);
    HTTPBasicCredentials(const std::string& authInfo);

    // methods

    void
    setUsername(const std::string& username);

    const std::string&
    getUsername() const;

    void
    setPassword(const std::string& password);

    const std::string&
    getPassword() const;

    void
    authenticate(HTTPRequest& request) const;

    void
    proxyAuthenticate(HTTPRequest& request) const;

protected:
    // methods

    void
    parseAuthInfo(const std::string& authInfo);
};

Detailed Documentation

This is a utility class for working with HTTP Basic Authentication in HTTPRequest objects.

Construction

HTTPBasicCredentials()

Creates an empty HTTPBasicCredentials object.

HTTPBasicCredentials(
    const std::string& username,
    const std::string& password
    )

Creates a HTTPBasicCredentials object with the given username and password.

HTTPBasicCredentials(const HTTPRequest& request)

Creates a HTTPBasicCredentials object with the authentication information from the given request.

Throws a NotAuthenticatedException if the request does not contain basic authentication information.

HTTPBasicCredentials(const std::string& authInfo)

Creates a HTTPBasicCredentials object with the authentication information in the given string.

The authentication information can be extracted from a HTTPRequest object by calling HTTPRequest::getCredentials().

Methods

void
setUsername(const std::string& username)

Sets the username.

const std::string&
getUsername() const

Returns the username.

void
setPassword(const std::string& password)

Sets the password.

const std::string&
getPassword() const

Returns the password.

void
authenticate(HTTPRequest& request) const

Adds authentication information to the given HTTPRequest.

void
proxyAuthenticate(HTTPRequest& request) const

Adds proxy authentication information to the given HTTPRequest.

void
parseAuthInfo(const std::string& authInfo)

Extracts username and password from Basic authentication info by base64-decoding authInfo and splitting the resulting string at the ‘:’ delimiter.