/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
class nsHttpAuthNode { private: using EntryList = nsTArray<UniquePtr<nsHttpAuthEntry>>;
nsHttpAuthNode();
~nsHttpAuthNode();
// path can be null, in which case we'll search for an entry // with a null path.
nsHttpAuthEntry* LookupEntryByPath(const nsACString& path);
// realm must not be null
nsHttpAuthEntry* LookupEntryByRealm(const nsACString& realm);
EntryList::const_iterator LookupEntryItrByRealm( const nsACString& realm) const;
// if a matching entry is found, then credentials will be changed.
[[nodiscard]] nsresult SetAuthEntry(const nsACString& path, const nsACString& realm, const nsACString& creds, const nsACString& challenge, const nsHttpAuthIdentity* ident,
nsISupports* metadata);
void ClearAuthEntry(const nsACString& realm);
uint32_t EntryCount() { return mList.Length(); }
private:
EntryList mList;
friendclass nsHttpAuthCache; friendclass mozilla::DefaultDelete<nsHttpAuthNode>; // needs to call the // destructor
};
//----------------------------------------------------------------------------- // nsHttpAuthCache // (holds a hash table from host:port to nsHttpAuthNode) //-----------------------------------------------------------------------------
class nsHttpAuthCache { public:
nsHttpAuthCache();
~nsHttpAuthCache();
// |scheme|, |host|, and |port| are required // |path| can be null // |entry| is either null or a weak reference
[[nodiscard]] nsresult GetAuthEntryForPath(const nsACString& scheme, const nsACString& host,
int32_t port, const nsACString& path,
nsACString const& originSuffix,
nsHttpAuthEntry** entry);
// |scheme|, |host|, and |port| are required // |realm| must not be null // |entry| is either null or a weak reference
[[nodiscard]] nsresult GetAuthEntryForDomain(const nsACString& scheme, const nsACString& host,
int32_t port, const nsACString& realm,
nsACString const& originSuffix,
nsHttpAuthEntry** entry);
// |scheme|, |host|, and |port| are required // |path| can be null // |realm| must not be null // if |credentials|, |user|, |pass|, and |challenge| are each // null, then the entry is deleted.
[[nodiscard]] nsresult SetAuthEntry( const nsACString& scheme, const nsACString& host, int32_t port, const nsACString& path, const nsACString& realm, const nsACString& creds, const nsACString& challenge, nsACString const& originSuffix, const nsHttpAuthIdentity* ident, nsISupports* metadata);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.