@@ -16,6 +16,18 @@ namespace Bunq.Sdk.Http
1616{
1717 public class ApiClient
1818 {
19+
20+ private const string DEVICE_SERVER_URL = "device-server" ;
21+ private const string INSTALLATION_URL = "installation" ;
22+ private const string SESSION_SERVER_URL = "session-server" ;
23+
24+ private static readonly string [ ] URIS_NOT_REQUIRING_ACTIVE_SESSION = new string [ ]
25+ {
26+ DEVICE_SERVER_URL ,
27+ INSTALLATION_URL ,
28+ SESSION_SERVER_URL
29+ } ;
30+
1931 /// <summary>
2032 /// Header constants.
2133 /// </summary>
@@ -115,21 +127,25 @@ private BunqResponseRaw SendRequest(HttpMethod method, string uriRelative, byte[
115127 {
116128 var requestMessage = CreateHttpRequestMessage ( method , uriRelative , uriParams , requestBodyBytes ) ;
117129
118- return SendRequest ( requestMessage , customHeaders ) ;
130+ return SendRequest ( requestMessage , customHeaders , uriRelative ) ;
119131 }
120132
121133 private BunqResponseRaw SendRequest ( HttpMethod method , string uriRelative ,
122134 IDictionary < string , string > uriParams , IDictionary < string , string > customHeaders )
123135 {
124136 var requestMessage = CreateHttpRequestMessage ( method , uriRelative , uriParams ) ;
125137
126- return SendRequest ( requestMessage , customHeaders ) ;
138+ return SendRequest ( requestMessage , customHeaders , uriRelative ) ;
127139 }
128140
129141 private BunqResponseRaw SendRequest ( HttpRequestMessage requestMessage ,
130- IDictionary < string , string > customHeaders )
142+ IDictionary < string , string > customHeaders , string uriRelative )
131143 {
132- apiContext . EnsureSessionActive ( ) ;
144+ if ( ! URIS_NOT_REQUIRING_ACTIVE_SESSION . Contains ( uriRelative ) )
145+ {
146+ apiContext . EnsureSessionActive ( ) ;
147+ }
148+
133149 SetDefaultHeaders ( requestMessage ) ;
134150 SetHeaders ( requestMessage , customHeaders ) ;
135151 SetSessionHeaders ( requestMessage ) ;
0 commit comments