ladybird/Libraries/LibHTTP/Cache/CacheMode.h

39 lines
1.1 KiB
C
Raw Permalink Normal View History

/*
* Copyright (c) 2026, Tim Flynn <trflynn89@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Types.h>
namespace HTTP {
enum class CacheMode : u8 {
// The cache is searched for a matching response. The cache is updated with the server's response.
Default,
// The cache is not searched for a matching response. The cache is not updated with the server's response.
NoStore,
// The cache is not searched for a matching response. The cache is updated with the server's response.
Reload,
// The cache is searched for a matching response, but must always revalidate. The cache is updated with the server's response.
NoCache,
// The cache is searched for a matching fresh or stale response. The cache is updated with the server's response.
ForceCache,
// The cache is searched for a matching fresh or stale response. A cache miss results in a network error.
OnlyIfCached,
};
constexpr bool cache_mode_permits_stale_responses(CacheMode cache_mode)
{
return cache_mode == CacheMode::ForceCache || cache_mode == CacheMode::OnlyIfCached;
}
}