11using FroniusSolarClient . Entities . SolarAPI . V1 ;
22using FroniusSolarClient . Helpers ;
3+ using Microsoft . Extensions . Logging ;
34using System ;
45using System . Net . Http ;
56
@@ -13,13 +14,13 @@ internal class RestClient
1314
1415 private readonly HttpClient _httpClient ;
1516 private readonly string _url ;
16-
17+ private readonly ILogger _logger ;
1718 /// <summary>
1819 /// This action delegate provides access to the response headers
1920 /// </summary>
20- private Action < CommonResponseHeader > _commonResponseHeader ;
21+ private Action < CommonResponseHeader , ILogger > _commonResponseHeader ;
2122
22- public RestClient ( HttpClient httpClient , string url , Action < CommonResponseHeader > commonResponseHeader )
23+ public RestClient ( HttpClient httpClient , string url , Action < CommonResponseHeader , ILogger > commonResponseHeader , ILogger logger )
2324 {
2425 if ( String . IsNullOrEmpty ( url ) )
2526 throw new ArgumentException ( "URL not specified" ) ;
@@ -28,6 +29,7 @@ public RestClient(HttpClient httpClient, string url, Action<CommonResponseHeader
2829 this . _url = url ;
2930
3031 _commonResponseHeader = commonResponseHeader ;
32+ _logger = logger ;
3133 }
3234
3335 /// <summary>
@@ -39,6 +41,7 @@ public HttpRequestMessage PrepareHTTPMessage(string cgi)
3941 var requestMessage = new HttpRequestMessage ( ) ;
4042 requestMessage . RequestUri = new Uri ( $ "{ _url } { cgi } ") ;
4143 requestMessage . Method = HttpMethod . Get ;
44+ _logger . LogInformation ( $ "RequestUri: { requestMessage . RequestUri } ") ;
4245 return requestMessage ;
4346 }
4447
@@ -60,16 +63,19 @@ public Response<T> GetResponse<T>(string endpoint)
6063 httpResponse . EnsureSuccessStatusCode ( ) ;
6164
6265 var content = httpResponse . Content . ReadAsStringAsync ( ) . Result ;
66+ _logger . LogInformation ( $ "Response Code: { httpResponse . StatusCode . ToString ( ) } ") ;
67+ _logger . LogDebug ( $ "Content: { content } ") ;
68+
6369 var response = JsonHelper . DeSerializeResponse < Response < T > > ( content ) ;
6470
6571 if ( _commonResponseHeader != null )
66- _commonResponseHeader . Invoke ( response . Head ) ;
72+ _commonResponseHeader . Invoke ( response . Head , _logger ) ;
6773
6874 return response ;
6975 }
7076 catch ( System . Exception ex )
7177 {
72- Console . WriteLine ( $ "An error occured: { ex . Message } ") ;
78+ _logger . LogError ( $ "An error occured: { ex . Message } ") ;
7379 return null ;
7480 }
7581 }
0 commit comments