internal static IRequestShim Make(string resource, RestMethod method, D7UserSession sess, string usr, string pwd) { var req = new RequestShim(resource, method); req.UserName = usr; req.Password = pwd; req.CsrfToken = sess.token; req.Cookies.Add(sess.session_name, sess.sessid); return req; }
private static RestServiceException ParseByMessage(Exception ex, RestSharpClientShim client, RequestShim req) { if (ex == null) return null; if (ex.Message.Contains("remote name could not be resolved")) return RestServiceException.Unresolvable( req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("Missing required argument ")) return RestServiceException.BadRequest("Missing required argument : " + ex.Message.Between("Missing required argument ", ").", true).Quotify(), req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("401")) return RestServiceException.Unauthorized( req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("403")) return RestServiceException.Forbidden( req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("404")) return RestServiceException.NotFound( req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("406")) return RestServiceException.NotAcceptable( req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("Integrity constraint violation: ")) return RestServiceException.Conflict(ex.Message .Between("constraint violation: ", ").", true) + ".", req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("Unknown data property")) return RestServiceException.BadRequest("Unknown data property " + ex.Message.Between("Unknown data property ", ".).", true).Quotify(), req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("value list does not match column list: ")) return RestServiceException.BadRequest(ex.Message .Between("value list does not match column list: ", ").", true) + ".", req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("Internal Server Error : An error occurred")) return RestServiceException.InternalServer(ex.Message .Between("An error occurred ", ").", true) + ".", req.Method, client.BaseUrl, req.Resource, ex); if (ex.Message.Contains("Could not create destination directory")) return RestServiceException.InternalServer( "Could not create destination directory for file.", req.Method, client.BaseUrl, req.Resource, ex); return null; }
public static RestServiceException Parse(HttpRequestException ex, RestSharpClientShim client, RequestShim req) { var err = ParseByMessage(ex, client, req); if (err == null) err = ParseByMessage(ex.InnerException, client, req); if (err != null) return err; var inr = ex.InnerException; if (inr == null) return Unknown("No inner exception", ex, client, req); if (inr is WebException) return CastWebException((WebException)inr, client, req); return Unknown("None of the Parse-ables", ex, client, req); }
private static RestServiceException ParseByMessage(Exception ex, RestSharpClientShim client, RequestShim req) { if (ex == null) { return(null); } if (ex.Message.Contains("remote name could not be resolved")) { return(RestServiceException.Unresolvable( req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("Missing required argument ")) { return(RestServiceException.BadRequest("Missing required argument : " + ex.Message.Between("Missing required argument ", ").", true).Quotify(), req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("401")) { return(RestServiceException.Unauthorized( req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("403")) { return(RestServiceException.Forbidden( req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("404")) { return(RestServiceException.NotFound( req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("406")) { return(RestServiceException.NotAcceptable( req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("Integrity constraint violation: ")) { return(RestServiceException.Conflict(ex.Message .Between("constraint violation: ", ").", true) + ".", req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("Unknown data property")) { return(RestServiceException.BadRequest("Unknown data property " + ex.Message.Between("Unknown data property ", ".).", true).Quotify(), req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("value list does not match column list: ")) { return(RestServiceException.BadRequest(ex.Message .Between("value list does not match column list: ", ").", true) + ".", req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("Internal Server Error : An error occurred")) { return(RestServiceException.InternalServer(ex.Message .Between("An error occurred ", ").", true) + ".", req.Method, client.BaseUrl, req.Resource, ex)); } if (ex.Message.Contains("Could not create destination directory")) { return(RestServiceException.InternalServer( "Could not create destination directory for file.", req.Method, client.BaseUrl, req.Resource, ex)); } return(null); }
private static RestServiceException Unknown(string clue, Exception ex, RestSharpClientShim client, RequestShim req) { return(RestServiceException.Unknown(clue, req.Method, client.BaseUrl, req.Resource, ex)); }
private static RestServiceException CastWebException(WebException ex, RestSharpClientShim client, RequestShim req) { var inr = ex.InnerException; if (inr == null) { return(Unknown("A WebException with NO innards", ex, client, req)); } if (inr.GetType().Name == "AuthenticationException") { return(RestServiceException.InvalidSsl( req.Method, client.BaseUrl, req.Resource, ex)); } if (inr.GetType().Name == "SocketException") { return(RestServiceException.Unavailable( req.Method, client.BaseUrl, req.Resource, ex)); } return(Unknown("A WebException with UNKNOWN innards", ex, client, req)); }
public static RestServiceException Parse(HttpRequestException ex, RestSharpClientShim client, RequestShim req) { var err = ParseByMessage(ex, client, req); if (err == null) { err = ParseByMessage(ex.InnerException, client, req); } if (err != null) { return(err); } var inr = ex.InnerException; if (inr == null) { return(Unknown("No inner exception", ex, client, req)); } if (inr is WebException) { return(CastWebException((WebException)inr, client, req)); } return(Unknown("None of the Parse-ables", ex, client, req)); }
private RestServiceException RestErr(HttpRequestException ex, RequestShim req) { //Error_o("HTTP request failed."); return(RestError.Parse(ex, this, req)); }
private async Task<D7UserSession> ValidateCredentials(IClientShim client, RequestShim req, CancellationToken cancelToken) { req.Body = new { username = _userName, password = _password }; req.UserName = _userName; req.Password = _password; D7UserSession ret = null; try { ret = await client.Send<D7UserSession>(req, cancelToken); } catch (Exception ex) { LogError("client.Send<D7UserSession>", ex); return null; } return ret; }
private static RestServiceException CastWebException(WebException ex, RestSharpClientShim client, RequestShim req) { var inr = ex.InnerException; if (inr == null) return Unknown("A WebException with NO innards", ex, client, req); if (inr.GetType().Name == "AuthenticationException") return RestServiceException.InvalidSsl( req.Method, client.BaseUrl, req.Resource, ex); if (inr.GetType().Name == "SocketException") return RestServiceException.Unavailable( req.Method, client.BaseUrl, req.Resource, ex); return Unknown("A WebException with UNKNOWN innards", ex, client, req); }
private static RestServiceException Unknown(string clue, Exception ex, RestSharpClientShim client, RequestShim req) { return RestServiceException.Unknown(clue, req.Method, client.BaseUrl, req.Resource, ex); }