Skip to content
This repository was archived by the owner on Jul 9, 2023. It is now read-only.

Commit a7cab15

Browse files
committed
#519 handle change in hostname on ReRequest
1 parent 8311e6b commit a7cab15

File tree

16 files changed

+207
-167
lines changed

16 files changed

+207
-167
lines changed

examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public void Stop()
118118

119119
private async Task OnBeforeTunnelConnectRequest(object sender, TunnelConnectSessionEventArgs e)
120120
{
121-
string hostname = e.WebSession.Request.RequestUri.Host;
121+
string hostname = e.HttpClient.Request.RequestUri.Host;
122122
await WriteToConsole("Tunnel to: " + hostname);
123123

124124
if (hostname.Contains("dropbox.com"))
@@ -139,7 +139,7 @@ private Task OnBeforeTunnelConnectResponse(object sender, TunnelConnectSessionEv
139139
private async Task OnRequest(object sender, SessionEventArgs e)
140140
{
141141
await WriteToConsole("Active Client Connections:" + ((ProxyServer)sender).ClientConnectionCount);
142-
await WriteToConsole(e.WebSession.Request.Url);
142+
await WriteToConsole(e.HttpClient.Request.Url);
143143

144144
// store it in the UserData property
145145
// It can be a simple integer, Guid, or any type
@@ -191,7 +191,7 @@ private async Task OnResponse(object sender, SessionEventArgs e)
191191
{
192192
await WriteToConsole("Active Server Connections:" + ((ProxyServer)sender).ServerConnectionCount);
193193

194-
string ext = System.IO.Path.GetExtension(e.WebSession.Request.RequestUri.AbsolutePath);
194+
string ext = System.IO.Path.GetExtension(e.HttpClient.Request.RequestUri.AbsolutePath);
195195

196196
//access user data set in request to do something with it
197197
//var userData = e.WebSession.UserData as CustomUserData;

examples/Titanium.Web.Proxy.Examples.Wpf/MainWindow.xaml.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public int ServerConnectionCount
122122

123123
private async Task ProxyServer_BeforeTunnelConnectRequest(object sender, TunnelConnectSessionEventArgs e)
124124
{
125-
string hostname = e.WebSession.Request.RequestUri.Host;
125+
string hostname = e.HttpClient.Request.RequestUri.Host;
126126
if (hostname.EndsWith("webex.com"))
127127
{
128128
e.DecryptSsl = false;
@@ -135,7 +135,7 @@ private async Task ProxyServer_BeforeTunnelConnectResponse(object sender, Tunnel
135135
{
136136
await Dispatcher.InvokeAsync(() =>
137137
{
138-
if (sessionDictionary.TryGetValue(e.WebSession, out var item))
138+
if (sessionDictionary.TryGetValue(e.HttpClient, out var item))
139139
{
140140
item.Update();
141141
}
@@ -147,9 +147,9 @@ private async Task ProxyServer_BeforeRequest(object sender, SessionEventArgs e)
147147
SessionListItem item = null;
148148
await Dispatcher.InvokeAsync(() => { item = AddSession(e); });
149149

150-
if (e.WebSession.Request.HasBody)
150+
if (e.HttpClient.Request.HasBody)
151151
{
152-
e.WebSession.Request.KeepBody = true;
152+
e.HttpClient.Request.KeepBody = true;
153153
await e.GetRequestBody();
154154
}
155155
}
@@ -159,17 +159,17 @@ private async Task ProxyServer_BeforeResponse(object sender, SessionEventArgs e)
159159
SessionListItem item = null;
160160
await Dispatcher.InvokeAsync(() =>
161161
{
162-
if (sessionDictionary.TryGetValue(e.WebSession, out item))
162+
if (sessionDictionary.TryGetValue(e.HttpClient, out item))
163163
{
164164
item.Update();
165165
}
166166
});
167167

168168
if (item != null)
169169
{
170-
if (e.WebSession.Response.HasBody)
170+
if (e.HttpClient.Response.HasBody)
171171
{
172-
e.WebSession.Response.KeepBody = true;
172+
e.HttpClient.Response.KeepBody = true;
173173
await e.GetResponseBody();
174174

175175
await Dispatcher.InvokeAsync(() => { item.Update(); });
@@ -181,7 +181,7 @@ private async Task ProxyServer_AfterResponse(object sender, SessionEventArgs e)
181181
{
182182
await Dispatcher.InvokeAsync(() =>
183183
{
184-
if (sessionDictionary.TryGetValue(e.WebSession, out var item))
184+
if (sessionDictionary.TryGetValue(e.HttpClient, out var item))
185185
{
186186
item.Exception = e.Exception;
187187
}
@@ -192,7 +192,7 @@ private SessionListItem AddSession(SessionEventArgsBase e)
192192
{
193193
var item = CreateSessionListItem(e);
194194
Sessions.Add(item);
195-
sessionDictionary.Add(e.WebSession, item);
195+
sessionDictionary.Add(e.HttpClient, item);
196196
return item;
197197
}
198198

@@ -203,16 +203,16 @@ private SessionListItem CreateSessionListItem(SessionEventArgsBase e)
203203
var item = new SessionListItem
204204
{
205205
Number = lastSessionNumber,
206-
WebSession = e.WebSession,
206+
WebSession = e.HttpClient,
207207
IsTunnelConnect = isTunnelConnect
208208
};
209209

210-
if (isTunnelConnect || e.WebSession.Request.UpgradeToWebSocket)
210+
if (isTunnelConnect || e.HttpClient.Request.UpgradeToWebSocket)
211211
{
212212
e.DataReceived += (sender, args) =>
213213
{
214214
var session = (SessionEventArgs)sender;
215-
if (sessionDictionary.TryGetValue(session.WebSession, out var li))
215+
if (sessionDictionary.TryGetValue(session.HttpClient, out var li))
216216
{
217217
li.ReceivedDataCount += args.Count;
218218
}
@@ -221,7 +221,7 @@ private SessionListItem CreateSessionListItem(SessionEventArgsBase e)
221221
e.DataSent += (sender, args) =>
222222
{
223223
var session = (SessionEventArgs)sender;
224-
if (sessionDictionary.TryGetValue(session.WebSession, out var li))
224+
if (sessionDictionary.TryGetValue(session.HttpClient, out var li))
225225
{
226226
li.SentDataCount += args.Count;
227227
}

0 commit comments

Comments
 (0)