Skip to content

Commit 9915aa1

Browse files
magomezpgorszkowski-igalia
authored andcommitted
[soup] Add env var to allow reusing POST connections
1 parent edb2da8 commit 9915aa1

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,22 @@ void NetworkDataTaskSoup::createRequest(ResourceRequest&& request, WasBlockingCo
183183
soup_message_disable_feature(m_soupMessage.get(), SOUP_TYPE_AUTH_MANAGER);
184184
#endif
185185
}
186+
187+
static bool enablePostReuse = false;
188+
static std::once_flag onceFlag;
189+
std::call_once(onceFlag, [] {
190+
char* envString = getenv("WPE_POST_CONNECTION_REUSE");
191+
enablePostReuse = !!envString && envString[0] != '0';
192+
});
193+
194+
#if USE(SOUP2)
195+
const char* method = m_soupMessage->method;
196+
#else
197+
const char* method = soup_message_get_method(m_soupMessage.get());
198+
#endif
199+
if (method == SOUP_METHOD_POST && enablePostReuse)
200+
messageFlags |= SOUP_MESSAGE_IDEMPOTENT;
201+
186202
soup_message_set_flags(m_soupMessage.get(), static_cast<SoupMessageFlags>(soup_message_get_flags(m_soupMessage.get()) | messageFlags));
187203

188204
bool shouldBlockCookies = wasBlockingCookies == WasBlockingCookies::Yes ? true : m_storedCredentialsPolicy == StoredCredentialsPolicy::EphemeralStateless;

0 commit comments

Comments
 (0)