diff options
| author | Rye <rye@alchemyviewer.org> | 2025-08-20 18:04:55 -0400 | 
|---|---|---|
| committer | Rye <rye@alchemyviewer.org> | 2025-08-20 18:04:55 -0400 | 
| commit | ba30737d8f4add8ddd8c77d18df6497b46583fe9 (patch) | |
| tree | 81e5412a364ff80b5250fe6db9e653d35621c20e /indra/llcorehttp/_httpoprequest.cpp | |
| parent | f0db568bf8d313a00e10c1c4ee4dd7f716a9d987 (diff) | |
| parent | d5f748c91c650a2ec534c497b9e098ccb317d70b (diff) | |
Merge branch 'develop' of github.com:secondlife/viewer into rye/infinitemac
Diffstat (limited to 'indra/llcorehttp/_httpoprequest.cpp')
| -rw-r--r-- | indra/llcorehttp/_httpoprequest.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/llcorehttp/_httpoprequest.cpp b/indra/llcorehttp/_httpoprequest.cpp index 6186e7a308..081a4d9bac 100644 --- a/indra/llcorehttp/_httpoprequest.cpp +++ b/indra/llcorehttp/_httpoprequest.cpp @@ -538,6 +538,7 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)      long sslHostV(0L);      long dnsCacheTimeout(-1L);      long nobody(0L); +    curl_off_t lastModified(0L);      if (mReqOptions)      { @@ -546,6 +547,7 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)          sslHostV = mReqOptions->getSSLVerifyHost() ? 2L : 0L;          dnsCacheTimeout = mReqOptions->getDNSCacheTimeout();          nobody = mReqOptions->getHeadersOnly() ? 1L : 0L; +        lastModified = (curl_off_t)mReqOptions->getLastModified();      }      check_curl_easy_setopt(mCurlHandle, CURLOPT_FOLLOWLOCATION, follow_redirect); @@ -554,6 +556,17 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)      check_curl_easy_setopt(mCurlHandle, CURLOPT_NOBODY, nobody); +    if (lastModified) +    { +        check_curl_easy_setopt(mCurlHandle, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE); +#if (LIBCURL_VERSION_NUM >= 0x073B00) +        // requires curl 7.59.0 +        check_curl_easy_setopt(mCurlHandle, CURLOPT_TIMEVALUE_LARGE, lastModified); +#else +        check_curl_easy_setopt(mCurlHandle, CURLOPT_TIMEVALUE, (long)lastModified); +#endif +    } +      // The Linksys WRT54G V5 router has an issue with frequent      // DNS lookups from LAN machines.  If they happen too often,      // like for every HTTP request, the router gets annoyed after  | 
