Revision 5b2e4db4 trunk/Pithos.Network/WebExtensions.cs

b/trunk/Pithos.Network/WebExtensions.cs
122 122
            {
123 123
                try
124 124
                {
125
                    var result = await func();
125
                    var result = await func().ConfigureAwait(false);
126 126
                    return result;
127 127
                }
128 128
                catch (Exception exc)
......
141 141
                HttpStatusCode.RedirectMethod,HttpStatusCode.NotModified,HttpStatusCode.TemporaryRedirect,HttpStatusCode.RedirectKeepVerb};
142 142
            while (retries > 0)
143 143
            {
144
                var result = await func();
144
                var result = await func().ConfigureAwait(false);
145 145
                if (result.IsSuccessStatusCode || acceptedCodes.Contains(result.StatusCode))
146 146
                    return result;
147 147
                    
......
152 152
                if (result.StatusCode == HttpStatusCode.ServiceUnavailable)
153 153
                {
154 154
                    Log.InfoFormat("[UNAVAILABLE] Waiting before retry: {0}",result.ReasonPhrase);
155
                    await TaskEx.Delay(waitTime);
155
                    await TaskEx.Delay(waitTime).ConfigureAwait(false);
156 156
                    //increase the timeout for repeated timeouts
157 157
                    if (waitTime<TimeSpan.FromSeconds(10))
158 158
                        waitTime = waitTime.Add(TimeSpan.FromSeconds(10));
......
173 173
                request.Headers.IfModifiedSince = since.Value;
174 174
            }
175 175
            //Func<Task<HttpResponseMessage>> call = () => _baseHttpClient.SendAsync(request);
176
            using (var response = await client.SendAsyncWithRetries(request,3))
176
            using (var response = await client.SendAsyncWithRetries(request,3).ConfigureAwait(false))
177 177
            {
178 178
                if (response.StatusCode == HttpStatusCode.NoContent)
179 179
                    return String.Empty;
180 180

  
181
                var content = await response.Content.ReadAsStringAsync();
181
                var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
182 182
                return content;
183 183
            }
184 184

  
......
219 219
            {
220 220
                if (Log.IsDebugEnabled)
221 221
                    Log.DebugFormat("[REQUEST] {0}",message);
222
                var result = await client.SendAsync(message,completionOption,cancellationToken);
222
                HttpResponseMessage result;
223
                try
224
                {
225
                    result = await client.SendAsync(message, completionOption, cancellationToken).ConfigureAwait(false);
226
                }
227
                catch (Exception exc)
228
                {
229
                    Log.FatalFormat("Unexpected error while sending:\n{0}\n{1}",message,exc);
230
                    throw;
231
                }
232
                
223 233
                if (result.IsSuccessStatusCode || acceptedCodes.Contains(result.StatusCode))
224 234
                {
225 235
                    if (Log.IsDebugEnabled)
......
238 248
                {
239 249
                    
240 250
                    Log.WarnFormat("[UNAVAILABLE] Waiting before retrying [{0}]:[{1}] due to [{2}]",message.Method, message.RequestUri,result.ReasonPhrase);                    
241
                    await TaskEx.Delay(waitTime);
251
                    await TaskEx.Delay(waitTime).ConfigureAwait(false);
242 252
                    //increase the timeout for repeated timeouts
243 253
                    if (waitTime<TimeSpan.FromSeconds(10))
244 254
                        waitTime = waitTime.Add(TimeSpan.FromSeconds(10));

Also available in: Unified diff