Skip to content

Commit

Permalink
Renaming Persist and making sync load
Browse files Browse the repository at this point in the history
  • Loading branch information
ladeak committed Oct 5, 2023
1 parent d47f8a9 commit 3fe30c0
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 13 deletions.
6 changes: 3 additions & 3 deletions src/CHttp/CommandFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ private static void CreateFormsCommand(IWriter? writer,
requestDetails = requestDetails with { Content = formContent };
await client.SendRequestAsync(requestDetails);
await writer.CompleteAsync(CancellationToken.None);
await cookieContainer.PersistContainerAsync();
await cookieContainer.SaveAsync();
},
new HttpRequestDetailsBinder(new HttpMethodBinder(methodOptions),
new UriBinder(uriOption),
Expand Down Expand Up @@ -225,7 +225,7 @@ private static void CreateDefaultCommand(IWriter? writer,
var client = new HttpMessageSender(writer, cookieContainer, httpBehavior);
await client.SendRequestAsync(requestDetails);
await writer.CompleteAsync(CancellationToken.None);
await cookieContainer.PersistContainerAsync();
await cookieContainer.SaveAsync();
},
new HttpRequestDetailsBinder(new HttpMethodBinder(methodOptions),
new UriBinder(uriOption),
Expand Down Expand Up @@ -266,7 +266,7 @@ private static void CreateJsonCommand(IWriter? writer,
requestDetails = requestDetails with { Content = new StringContent(body) };
await client.SendRequestAsync(requestDetails);
await writer.CompleteAsync(CancellationToken.None);
await cookieContainer.PersistContainerAsync();
await cookieContainer.SaveAsync();
},
new HttpRequestDetailsBinder(new HttpMethodBinder(methodOptions),
new UriBinder(uriOption),
Expand Down
3 changes: 1 addition & 2 deletions src/CHttp/Http/HttpMessageSender.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ public HttpMessageSender(IWriter writer, ICookieContainer cookieContainer, HttpB
messageHandler.SslOptions.RemoteCertificateValidationCallback = (_, _, _, _) => true;

messageHandler.UseCookies = true;
messageHandler.CookieContainer = cookieContainer
.GetContainerAsync().GetAwaiter().GetResult();
messageHandler.CookieContainer = cookieContainer.Load();

_client = new HttpClient(messageHandler);
_client.Timeout = TimeSpan.FromSeconds(behavior.Timeout);
Expand Down
4 changes: 2 additions & 2 deletions src/CHttp/Http/ICookieContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

internal interface ICookieContainer
{
Task<CookieContainer> GetContainerAsync();
CookieContainer Load();

Task PersistContainerAsync();
Task SaveAsync();
}
10 changes: 5 additions & 5 deletions src/CHttp/Http/PersistentCookieContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ internal sealed class PersistentCookieContainer : ICookieContainer
{
private CookieContainer _container = new CookieContainer();

public PersistentCookieContainer(IFileSystem fileSystem, string name)
{
public PersistentCookieContainer(IFileSystem fileSystem, string name)
{
FileSystem = fileSystem;
Name = name;
}
Expand All @@ -20,13 +20,13 @@ public PersistentCookieContainer(IFileSystem fileSystem, string name)

private string Name { get; }

public async Task<CookieContainer> GetContainerAsync()
public CookieContainer Load()
{
if (string.IsNullOrWhiteSpace(Name) || !FileSystem.Exists(Name))
return _container;

using var stream = FileSystem.Open(Name, FileMode.Open, FileAccess.Read);
var cookieCollection = (await JsonSerializer.DeserializeAsync(stream, KnownJsonType.Default.PersistedCookies)) ?? PersistedCookies.Default;
var cookieCollection = JsonSerializer.Deserialize(stream, KnownJsonType.Default.PersistedCookies) ?? PersistedCookies.Default;

if (cookieCollection.Cookies.Count == 0)
return _container;
Expand All @@ -37,7 +37,7 @@ public async Task<CookieContainer> GetContainerAsync()
return _container;
}

public async Task PersistContainerAsync()
public async Task SaveAsync()
{
if (string.IsNullOrWhiteSpace(Name))
return;
Expand Down
2 changes: 1 addition & 1 deletion src/CHttp/PerformanceMeasureOrchestrator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ private async Task<IEnumerable<Summary>> RunClient(HttpRequestDetails requestDet
_progressBar.Set(new Ratio<int>(completed, _requestCount, reaminingTime));
}
await writer.CompleteAsync(CancellationToken.None);
await _cookieContainer.PersistContainerAsync();
await _cookieContainer.SaveAsync();

// Skip the first request as that is warm up.
return writer.Summaries.Skip(1);
Expand Down

0 comments on commit 3fe30c0

Please sign in to comment.