1- using System . Text . Json ;
1+ using Microsoft . Extensions . Logging ;
2+ using System . Text . Json ;
23using System . Text . Json . Serialization ;
34using PayNLSdk . Api ;
45using PayNLSdk . Exceptions ;
@@ -30,18 +31,23 @@ public class Client : IClient
3031 /// </summary>
3132 protected readonly IPayNlConfiguration SecurityConfiguration ;
3233
34+ private readonly ILogger < Client > _logger ;
35+
3336 /// <inheritdoc />
3437 [ SuppressMessage ( "ReSharper" , "MemberCanBeProtected.Global" ) ]
35- public Client ( IPayNlConfiguration securityConfiguration , IProxyConfigurationInjector proxyConfigurationInjector = null )
38+ public Client ( IPayNlConfiguration securityConfiguration ,
39+ ILogger < Client > logger ,
40+ IProxyConfigurationInjector proxyConfigurationInjector )
3641 {
3742 SecurityConfiguration = securityConfiguration ;
43+ _logger = logger ;
3844 ProxyConfigurationInjector = proxyConfigurationInjector ;
3945 }
4046
4147 private const string Endpoint = "https://rest-api.pay.nl" ;
4248
4349 /// <inheritdoc />
44- public string ClientVersion => "1.1.0.0 " ;
50+ public string ClientVersion => "2 " ;
4551
4652 /// <inheritdoc />
4753 public string UserAgent => $ "PAYNL/SDK/{ ClientVersion } DotNet/{ Environment . Version . Major } ";
@@ -53,35 +59,18 @@ public Client(IPayNlConfiguration securityConfiguration, IProxyConfigurationInje
5359 /// <returns>raw response string</returns>
5460 public string PerformRequest ( RequestBase request )
5561 {
62+ _logger . LogInformation ( "Preparing request to {Url} with {@Parameters}" , request . Url , request . GetParameters ( ) ) ;
5663 var webRequest = PrepareRequest ( request . Url , "POST" ) ;
5764 var rawResponse = PerformRoundTrip2 ( webRequest , HttpStatusCode . OK , ( ) =>
5865 {
59- using ( var requestWriter = new StreamWriter ( webRequest . GetRequestStream ( ) ) )
60- {
61- //string serializedResource = resource.Serialize();
62- string serializedResource = ToQueryString ( request ) ;
63- requestWriter . Write ( serializedResource ) ;
64- }
66+ using var requestWriter = new StreamWriter ( webRequest . GetRequestStream ( ) ) ;
67+
68+ var serializedResource = ToQueryString ( request ) ;
69+ requestWriter . Write ( serializedResource ) ;
6570 }
6671 ) ;
6772 request . RawResponse = rawResponse ;
6873 return rawResponse ;
69-
70-
71- //var webClient = new WebClient();
72- //// we are not using the client.Credentials for the reason stated here: https://stackoverflow.com/a/26016919/97615
73- ////string credentials = Convert.ToBase64String(
74- //// Encoding.ASCII.GetBytes("token:" + _securityConfiguration.ApiToken));
75- ////webClient.Headers[HttpRequestHeader.Authorization] = $"Basic {credentials}";
76- //webClient.Credentials = new NetworkCredential("token", _securityConfiguration.ApiToken);
77- //webClient.Headers[HttpRequestHeader.UserAgent] = this.UserAgent;
78- //webClient.QueryString = GetParameters(request);
79- //webClient.BaseAddress = Endpoint;
80-
81- //// download data
82- //var rawResponse = webClient.DownloadString(request.Url);
83-
84- return rawResponse ;
8574 }
8675
8776 /// <summary>
0 commit comments