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
e1f03c43
Unverified
Commit
e1f03c43
authored
May 13, 2018
by
justcoding121
Committed by
GitHub
May 13, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #442 from justcoding121/master
Use original isBodyRead when siphoning
parents
af1038c8
b0023615
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
108 additions
and
24 deletions
+108
-24
SessionEventArgs.cs
Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs
+2
-5
Request.cs
Titanium.Web.Proxy/Http/Request.cs
+1
-0
RequestResponseBase.cs
Titanium.Web.Proxy/Http/RequestResponseBase.cs
+34
-3
RequestHandler.cs
Titanium.Web.Proxy/RequestHandler.cs
+1
-4
ResponseHandler.cs
Titanium.Web.Proxy/ResponseHandler.cs
+1
-4
Titanium.Web.Proxy.Http.ConnectRequest.html
docs/api/Titanium.Web.Proxy.Http.ConnectRequest.html
+3
-0
Titanium.Web.Proxy.Http.ConnectResponse.html
docs/api/Titanium.Web.Proxy.Http.ConnectResponse.html
+3
-0
Titanium.Web.Proxy.Http.Request.html
docs/api/Titanium.Web.Proxy.Http.Request.html
+3
-0
Titanium.Web.Proxy.Http.RequestResponseBase.html
docs/api/Titanium.Web.Proxy.Http.RequestResponseBase.html
+27
-0
Titanium.Web.Proxy.Http.Response.html
docs/api/Titanium.Web.Proxy.Http.Response.html
+3
-0
Titanium.Web.Proxy.Http.Responses.GenericResponse.html
...pi/Titanium.Web.Proxy.Http.Responses.GenericResponse.html
+3
-0
Titanium.Web.Proxy.Http.Responses.OkResponse.html
docs/api/Titanium.Web.Proxy.Http.Responses.OkResponse.html
+3
-0
Titanium.Web.Proxy.Http.Responses.RedirectResponse.html
...i/Titanium.Web.Proxy.Http.Responses.RedirectResponse.html
+3
-0
index.json
docs/index.json
+8
-8
xrefmap.yml
docs/xrefmap.yml
+13
-0
No files found.
Titanium.Web.Proxy/EventArguments/SessionEventArgs.cs
View file @
e1f03c43
...
...
@@ -179,7 +179,7 @@ namespace Titanium.Web.Proxy.EventArguments
internal
async
Task
SyphonOutBodyAsync
(
bool
isRequest
,
CancellationToken
cancellationToken
)
{
var
requestResponse
=
isRequest
?
(
RequestResponseBase
)
WebSession
.
Request
:
WebSession
.
Response
;
if
(
requestResponse
.
IsBodyRead
||
!
requestResponse
.
OriginalHasBody
)
if
(
requestResponse
.
Original
IsBodyRead
||
!
requestResponse
.
OriginalHasBody
)
{
return
;
}
...
...
@@ -583,10 +583,7 @@ namespace Titanium.Web.Proxy.EventArguments
TerminateServerConnection
();
}
response
.
OriginalHasBody
=
WebSession
.
Response
.
OriginalHasBody
;
response
.
OriginalIsChunked
=
WebSession
.
Response
.
OriginalIsChunked
;
response
.
OriginalContentLength
=
WebSession
.
Response
.
OriginalContentLength
;
response
.
OriginalContentEncoding
=
WebSession
.
Response
.
OriginalContentEncoding
;
response
.
SetOriginalHeaders
(
WebSession
.
Response
);
//response already received from server but not yet ready to sent to client.
WebSession
.
Response
=
response
;
...
...
Titanium.Web.Proxy/Http/Request.cs
View file @
e1f03c43
...
...
@@ -233,5 +233,6 @@ namespace Titanium.Web.Proxy.Http
return
true
;
}
}
}
Titanium.Web.Proxy/Http/RequestResponseBase.cs
View file @
e1f03c43
...
...
@@ -24,7 +24,7 @@ namespace Titanium.Web.Proxy.Http
/// <summary>
/// Store whether the original request/response has body or not, since the user may change the parameters.
/// We need this detail to
tcp syphon out attached
connection for reuse.
/// We need this detail to
syphon out attached tcp
connection for reuse.
/// </summary>
internal
bool
OriginalHasBody
{
get
;
set
;
}
...
...
@@ -36,16 +36,22 @@ namespace Titanium.Web.Proxy.Http
/// <summary>
/// Store whether the original request/response was a chunked body, since the user may change the parameters.
/// We need this detail to
tcp syphon out attached
connection for reuse.
/// We need this detail to
syphon out attached tcp
connection for reuse.
/// </summary>
internal
bool
OriginalIsChunked
{
get
;
set
;
}
/// <summary>
/// Store whether the original request/response content-encoding, since the user may change the parameters.
/// We need this detail to
tcp syphon out attached
connection for reuse.
/// We need this detail to
syphon out attached tcp
connection for reuse.
/// </summary>
internal
string
OriginalContentEncoding
{
get
;
set
;
}
/// <summary>
/// Store whether the original request/response body was read by user.
/// We need this detail to syphon out attached tcp connection for reuse.
/// </summary>
public
bool
OriginalIsBodyRead
{
get
;
internal
set
;
}
/// <summary>
/// Keeps the body data after the session is finished.
/// </summary>
...
...
@@ -251,6 +257,31 @@ namespace Titanium.Web.Proxy.Http
ContentLength
=
IsChunked
?
-
1
:
BodyInternal
?.
Length
??
0
;
}
/// <summary>
/// Set values for original headers using current headers.
/// </summary>
internal
void
SetOriginalHeaders
()
{
OriginalHasBody
=
HasBody
;
OriginalContentLength
=
ContentLength
;
OriginalIsChunked
=
IsChunked
;
OriginalContentEncoding
=
ContentEncoding
;
OriginalIsBodyRead
=
IsBodyRead
;
}
/// <summary>
/// Copy original header values.
/// </summary>
/// <param name="requestResponseBase"></param>
internal
void
SetOriginalHeaders
(
RequestResponseBase
requestResponseBase
)
{
OriginalHasBody
=
requestResponseBase
.
OriginalHasBody
;
OriginalContentLength
=
requestResponseBase
.
OriginalContentLength
;
OriginalIsChunked
=
requestResponseBase
.
OriginalIsChunked
;
OriginalContentEncoding
=
requestResponseBase
.
OriginalContentEncoding
;
OriginalIsBodyRead
=
requestResponseBase
.
OriginalIsBodyRead
;
}
/// <summary>
/// Finish the session
/// </summary>
...
...
Titanium.Web.Proxy/RequestHandler.cs
View file @
e1f03c43
...
...
@@ -163,10 +163,7 @@ namespace Titanium.Web.Proxy
}
//we need this to syphon out data from connection if API user changes them.
request
.
OriginalHasBody
=
request
.
HasBody
;
request
.
OriginalContentLength
=
request
.
ContentLength
;
request
.
OriginalIsChunked
=
request
.
IsChunked
;
request
.
OriginalContentEncoding
=
request
.
ContentEncoding
;
request
.
SetOriginalHeaders
();
// If user requested interception do it
await
invokeBeforeRequest
(
args
);
...
...
Titanium.Web.Proxy/ResponseHandler.cs
View file @
e1f03c43
...
...
@@ -41,10 +41,7 @@ namespace Titanium.Web.Proxy
//save original values so that if user changes them
//we can still use original values when syphoning out data from attached tcp connection.
response
.
OriginalHasBody
=
response
.
HasBody
;
response
.
OriginalContentLength
=
response
.
ContentLength
;
response
.
OriginalIsChunked
=
response
.
IsChunked
;
response
.
OriginalContentEncoding
=
response
.
ContentEncoding
;
response
.
SetOriginalHeaders
();
// if user requested call back then do it
if
(!
response
.
Locked
)
...
...
docs/api/Titanium.Web.Proxy.Http.ConnectRequest.html
View file @
e1f03c43
...
...
@@ -136,6 +136,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/api/Titanium.Web.Proxy.Http.ConnectResponse.html
View file @
e1f03c43
...
...
@@ -118,6 +118,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/api/Titanium.Web.Proxy.Http.Request.html
View file @
e1f03c43
...
...
@@ -98,6 +98,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/api/Titanium.Web.Proxy.Http.RequestResponseBase.html
View file @
e1f03c43
...
...
@@ -488,6 +488,33 @@ public string BodyString { get; }</code></pre>
</tr>
</tbody>
</table>
<a
id=
"Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead_"
data-uid=
"Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead*"
></a>
<h4
id=
"Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
data-uid=
"Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead"
>
OriginalIsBodyRead
</h4>
<div
class=
"markdown level1 summary"
><p>
Store whether the original request/response body was read by user.
We need this detail to syphon out attached tcp connection for reuse.
</p>
</div>
<div
class=
"markdown level1 conceptual"
></div>
<h5
class=
"decalaration"
>
Declaration
</h5>
<div
class=
"codewrapper"
>
<pre><code
class=
"lang-csharp hljs"
>
public bool OriginalIsBodyRead { get; }
</code></pre>
</div>
<h5
class=
"propertyValue"
>
Property Value
</h5>
<table
class=
"table table-bordered table-striped table-condensed"
>
<thead>
<tr>
<th>
Type
</th>
<th>
Description
</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
class=
"xref"
href=
"https://docs.microsoft.com/dotnet/api/system.boolean"
>
Boolean
</a></td>
<td></td>
</tr>
</tbody>
</table>
<h3
id=
"methods"
>
Methods
</h3>
...
...
docs/api/Titanium.Web.Proxy.Http.Response.html
View file @
e1f03c43
...
...
@@ -101,6 +101,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/api/Titanium.Web.Proxy.Http.Responses.GenericResponse.html
View file @
e1f03c43
...
...
@@ -119,6 +119,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/api/Titanium.Web.Proxy.Http.Responses.OkResponse.html
View file @
e1f03c43
...
...
@@ -119,6 +119,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/api/Titanium.Web.Proxy.Http.Responses.RedirectResponse.html
View file @
e1f03c43
...
...
@@ -119,6 +119,9 @@
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_BodyInternal"
>
RequestResponseBase.BodyInternal
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead"
>
RequestResponseBase.OriginalIsBodyRead
</a>
</div>
<div>
<a
class=
"xref"
href=
"Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_KeepBody"
>
RequestResponseBase.KeepBody
</a>
</div>
...
...
docs/index.json
View file @
e1f03c43
This diff is collapsed.
Click to expand it.
docs/xrefmap.yml
View file @
e1f03c43
...
...
@@ -1694,6 +1694,19 @@ references:
isSpec
:
"
True"
fullName
:
Titanium.Web.Proxy.Http.RequestResponseBase.KeepBody
nameWithType
:
RequestResponseBase.KeepBody
-
uid
:
Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead
name
:
OriginalIsBodyRead
href
:
api/Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead
commentId
:
P:Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead
fullName
:
Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead
nameWithType
:
RequestResponseBase.OriginalIsBodyRead
-
uid
:
Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead*
name
:
OriginalIsBodyRead
href
:
api/Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_OriginalIsBodyRead_
commentId
:
Overload:Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead
isSpec
:
"
True"
fullName
:
Titanium.Web.Proxy.Http.RequestResponseBase.OriginalIsBodyRead
nameWithType
:
RequestResponseBase.OriginalIsBodyRead
-
uid
:
Titanium.Web.Proxy.Http.RequestResponseBase.ToString
name
:
ToString()
href
:
api/Titanium.Web.Proxy.Http.RequestResponseBase.html#Titanium_Web_Proxy_Http_RequestResponseBase_ToString
...
...
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