MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / WriteData

Method WriteData

Sources/Shared/IO/WebRequest.cpp:1898–1956  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1896 }
1897
1898 void WebRequestWinHTTP::WriteData()
1899 {
1900 if (_dataWritten == _dataSize) {
1901 if (!CheckResult(CreateResponse())) {
1902 return;
1903 }
1904
1905 const Result result = InitializeAuthIfNeeded();
1906 switch (result.state) {
1907 case WebRequest::State::Unauthorized:
1908 switch (_authChallenge->GetSource()) {
1909 case WebAuthChallenge::Source::Proxy: {
1910 if (_tryProxyCredentials) {
1911 _tryProxyCredentials = false;
1912
1913 _authChallenge->SetCredentials(_sessionImpl.GetProxyCredentials());
1914 return;
1915 }
1916 break;
1917 }
1918 case WebAuthChallenge::Source::Server: {
1919 if (_tryCredentialsFromURL) {
1920 _tryCredentialsFromURL = false;
1921
1922 // If the request is redirected, the authentication can be required again
1923 if (_sessionImpl.HasProxyCredentials()) {
1924 _tryProxyCredentials = true;
1925 }
1926
1927 _authChallenge->SetCredentials(_credentialsFromURL);
1928 return;
1929 }
1930 break;
1931 }
1932 }
1933 DEATH_FALLTHROUGH
1934
1935 case WebRequest::State::Failed:
1936 HandleResult(result);
1937 return;
1938
1939 case WebRequest::State::Active:
1940 break;
1941
1942 case WebRequest::State::Idle:
1943 case WebRequest::State::Completed:
1944 case WebRequest::State::Cancelled:
1945 // Unreachable state
1946 break;
1947 }
1948
1949 if (!_response->ReadData()) {
1950 SetFailedWithLastError("Reading data"_s);
1951 }
1952 return;
1953 }
1954
1955 CheckResult(DoWriteData());

Callers

nothing calls this directly

Calls 4

SetCredentialsMethod · 0.80
HasProxyCredentialsMethod · 0.80
ReadDataMethod · 0.80
GetSourceMethod · 0.45

Tested by

no test coverage detected