NetworkSessionSoup.h [plain text]
#pragma once
#include "NetworkSession.h"
#include "SoupCookiePersistentStorageType.h"
typedef struct _SoupSession SoupSession;
namespace WebCore {
class SoupNetworkSession;
struct SoupNetworkProxySettings;
}
namespace WebKit {
class NetworkSocketChannel;
class WebSocketTask;
struct NetworkSessionCreationParameters;
class NetworkSessionSoup final : public NetworkSession {
public:
static std::unique_ptr<NetworkSession> create(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
{
return makeUnique<NetworkSessionSoup>(networkProcess, WTFMove(parameters));
}
NetworkSessionSoup(NetworkProcess&, NetworkSessionCreationParameters&&);
~NetworkSessionSoup();
WebCore::SoupNetworkSession& soupNetworkSession() const { return *m_networkSession; }
SoupSession* soupSession() const;
void setCookiePersistentStorage(const String& storagePath, SoupCookiePersistentStorageType);
void setPersistentCredentialStorageEnabled(bool enabled) { m_persistentCredentialStorageEnabled = enabled; }
bool persistentCredentialStorageEnabled() const { return m_persistentCredentialStorageEnabled; }
void setIgnoreTLSErrors(bool);
void setProxySettings(WebCore::SoupNetworkProxySettings&&);
private:
std::unique_ptr<WebSocketTask> createWebSocketTask(NetworkSocketChannel&, const WebCore::ResourceRequest&, const String& protocol) final;
void clearCredentials() final;
std::unique_ptr<WebCore::SoupNetworkSession> m_networkSession;
bool m_persistentCredentialStorageEnabled { true };
};
}