Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EnsureFtpWebResponse()

void System.Net.FtpWebRequest.EnsureFtpWebResponse ( Exception exception)
inlineprivate

Definition at line 1356 of file FtpWebRequest.cs.

1357 {
1358 if (_ftpWebResponse == null || (_ftpWebResponse.GetResponseStream() is FtpWebResponse.EmptyStream && _stream != null))
1359 {
1360 lock (_syncObject)
1361 {
1362 if (_ftpWebResponse == null || (_ftpWebResponse.GetResponseStream() is FtpWebResponse.EmptyStream && _stream != null))
1363 {
1366 {
1367 stream = null;
1368 }
1369 if (_stream != null && _stream.CanRead && _stream.CanTimeout)
1370 {
1371 _stream.ReadTimeout = ReadWriteTimeout;
1372 _stream.WriteTimeout = ReadWriteTimeout;
1373 }
1374 FtpControlStream connection = _connection;
1375 long num = connection?.ContentLength ?? (-1);
1376 if (stream == null && num < 0)
1377 {
1378 num = 0L;
1379 }
1380 if (_ftpWebResponse != null)
1381 {
1383 }
1384 else if (connection != null)
1385 {
1386 _ftpWebResponse = new FtpWebResponse(stream, num, connection.ResponseUri, connection.StatusCode, connection.StatusLine, connection.LastModified, connection.BannerMessage, connection.WelcomeMessage, connection.ExitMessage);
1387 }
1388 else
1389 {
1390 _ftpWebResponse = new FtpWebResponse(stream, -1L, _uri, FtpStatusCode.Undefined, null, DateTime.Now, null, null, null);
1391 }
1392 }
1393 }
1394 }
1395 if (System.Net.NetEventSource.Log.IsEnabled())
1396 {
1397 System.Net.NetEventSource.Info(this, $"Returns {_ftpWebResponse} with stream {_ftpWebResponse._responseStream}", "EnsureFtpWebResponse");
1398 }
1399 }
virtual bool CanTimeout
Definition Stream.cs:498
FtpControlStream _connection
FtpWebResponse _ftpWebResponse
override Stream GetResponseStream()
void SetResponseStream(Stream stream)
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)

References System.Net.FtpControlStream.BannerMessage, System.IO.Stream.CanRead, System.IO.Stream.CanTimeout, System.Net.FtpControlStream.ContentLength, System.Net.FtpControlStream.ExitMessage, System.Net.FtpWebResponse.GetResponseStream(), System.Net.NetEventSource.Info(), System.Net.FtpMethodInfo.IsUpload, System.L, System.Net.FtpControlStream.LastModified, System.Net.NetEventSource.Log, System.DateTime.Now, System.Net.FtpControlStream.ResponseUri, System.Net.FtpWebResponse.SetResponseStream(), System.Net.FtpControlStream.StatusCode, System.Net.FtpControlStream.StatusLine, System.stream, and System.Net.FtpControlStream.WelcomeMessage.

Referenced by System.Net.FtpWebRequest.GetResponse().