Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Titanium-Web-Proxy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Titanium-Web-Proxy
Commits
3ef65b2d
Unverified
Commit
3ef65b2d
authored
Jun 19, 2018
by
justcoding121
Committed by
GitHub
Jun 19, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #465 from justcoding121/master
retry without polly fixes
parents
f4e6fe18
823e8b21
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
9 deletions
+13
-9
RetryPolicy.cs
Titanium.Web.Proxy/Network/RetryPolicy.cs
+11
-8
RequestHandler.cs
Titanium.Web.Proxy/RequestHandler.cs
+2
-1
No files found.
Titanium.Web.Proxy/Network/RetryPolicy.cs
View file @
3ef65b2d
...
@@ -32,9 +32,9 @@ namespace Titanium.Web.Proxy.Network
...
@@ -32,9 +32,9 @@ namespace Titanium.Web.Proxy.Network
Exception
exception
=
null
;
Exception
exception
=
null
;
var
attempts
=
retries
;
var
attempts
=
retries
;
while
(
attempts
>=
0
)
while
(
true
)
{
{
try
try
{
{
//setup connection
//setup connection
...
@@ -44,26 +44,29 @@ namespace Titanium.Web.Proxy.Network
...
@@ -44,26 +44,29 @@ namespace Titanium.Web.Proxy.Network
@continue
=
await
action
(
currentConnection
);
@continue
=
await
action
(
currentConnection
);
}
}
catch
(
T
ex
)
catch
(
Exception
ex
)
{
{
exception
=
ex
;
exception
=
ex
;
await
onRetry
(
ex
);
}
}
if
(
exception
==
null
)
attempts
--;
if
(
attempts
<
0
||
exception
==
null
||
!(
exception
is
T
))
{
{
break
;
break
;
}
}
exception
=
null
;
exception
=
null
;
a
ttempts
--;
a
wait
disposeConnection
();
}
}
return
new
RetryResult
(
currentConnection
,
exception
,
@continue
);
return
new
RetryResult
(
currentConnection
,
exception
,
@continue
);
}
}
//before retry clear connection
//before retry clear connection
private
async
Task
onRetry
(
Exception
ex
)
private
async
Task
disposeConnection
(
)
{
{
if
(
currentConnection
!=
null
)
if
(
currentConnection
!=
null
)
{
{
...
...
Titanium.Web.Proxy/RequestHandler.cs
View file @
3ef65b2d
...
@@ -267,7 +267,8 @@ namespace Titanium.Web.Proxy
...
@@ -267,7 +267,8 @@ namespace Titanium.Web.Proxy
//between sessions without using it.
//between sessions without using it.
//Do not release authenticated connections for performance reasons.
//Do not release authenticated connections for performance reasons.
//Otherwise it will keep authenticating per session.
//Otherwise it will keep authenticating per session.
if
(
EnableConnectionPool
&&
!
connection
.
IsWinAuthenticated
)
if
(
EnableConnectionPool
&&
connection
!=
null
&&
!
connection
.
IsWinAuthenticated
)
{
{
await
tcpConnectionFactory
.
Release
(
connection
);
await
tcpConnectionFactory
.
Release
(
connection
);
connection
=
null
;
connection
=
null
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment