Network/WebRequest: Add option flags
This commit is contained in:
parent
c52ffa15c4
commit
f1de6f9198
|
|
@ -119,6 +119,22 @@ namespace Nz
|
|||
};
|
||||
|
||||
constexpr std::size_t SocketTypeCount = static_cast<std::size_t>(SocketType::Max) + 1;
|
||||
|
||||
enum class WebRequestOption
|
||||
{
|
||||
FailOnError,
|
||||
FollowRedirects,
|
||||
|
||||
Max = FollowRedirects
|
||||
};
|
||||
|
||||
template<>
|
||||
struct EnumAsFlags<WebRequestOption>
|
||||
{
|
||||
static constexpr WebRequestOption max = WebRequestOption::Max;
|
||||
};
|
||||
|
||||
using WebRequestOptionFlags = Flags<WebRequestOption>;
|
||||
}
|
||||
|
||||
#endif // NAZARA_NETWORK_ENUMS_HPP
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ namespace Nz
|
|||
inline void SetHeader(std::string header, std::string value);
|
||||
void SetJSonContent(std::string encodedJSon);
|
||||
void SetMaximumFileSize(UInt64 maxFileSize);
|
||||
inline void SetOptions(WebRequestOptionFlags options);
|
||||
inline void SetResultCallback(ResultCallback callback);
|
||||
void SetServiceName(std::string serviceName);
|
||||
void SetURL(const std::string& url);
|
||||
|
|
@ -87,6 +88,7 @@ namespace Nz
|
|||
MovablePtr<emscripten_fetch_t> m_fetchHandle;
|
||||
#endif
|
||||
ResultCallback m_resultCallback;
|
||||
WebRequestOptionFlags m_options;
|
||||
bool m_isUserAgentSet;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,11 @@ namespace Nz
|
|||
m_dataCallback = std::move(callback);
|
||||
}
|
||||
|
||||
inline void WebRequest::SetOptions(WebRequestOptionFlags options)
|
||||
{
|
||||
m_options = options;
|
||||
}
|
||||
|
||||
inline void WebRequest::SetResultCallback(ResultCallback callback)
|
||||
{
|
||||
m_resultCallback = std::move(callback);
|
||||
|
|
|
|||
|
|
@ -57,15 +57,15 @@ namespace Nz
|
|||
switch (protocol)
|
||||
{
|
||||
case Nz::NetProtocol::Any:
|
||||
libcurl.easy_setopt(m_curlHandle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER);
|
||||
libcurl.easy_setopt(m_curlHandle, CURLOPT_IPRESOLVE, long(CURL_IPRESOLVE_WHATEVER));
|
||||
break;
|
||||
|
||||
case Nz::NetProtocol::IPv4:
|
||||
libcurl.easy_setopt(m_curlHandle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
|
||||
libcurl.easy_setopt(m_curlHandle, CURLOPT_IPRESOLVE, long(CURL_IPRESOLVE_V4));
|
||||
break;
|
||||
|
||||
case Nz::NetProtocol::IPv6:
|
||||
libcurl.easy_setopt(m_curlHandle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
|
||||
libcurl.easy_setopt(m_curlHandle, CURLOPT_IPRESOLVE, long(CURL_IPRESOLVE_V6));
|
||||
break;
|
||||
|
||||
case Nz::NetProtocol::Unknown:
|
||||
|
|
|
|||
Loading…
Reference in New Issue