private static GetTextOfWebResponse ( |
||
webResponse | ||
리턴 | string |
private Response CreateResponse(WebRequest request) { Response response = new Response(); HttpWebResponse httpWebResponse = null; try { httpWebResponse = (request.GetResponse() as HttpWebResponse); } catch (WebException ex) { httpWebResponse = (ex.Response as HttpWebResponse); if (ex.Status == WebExceptionStatus.Timeout) { string format = "The HTTP request to the remote WebDriver server for URL {0} timed out after {1} seconds."; throw new WebDriverException(string.Format(CultureInfo.InvariantCulture, format, new object[] { request.RequestUri.AbsoluteUri, this.serverResponseTimeout.TotalSeconds }), ex); } if (ex.Response == null) { string format2 = "A exception with a null response was thrown sending an HTTP request to the remote WebDriver server for URL {0}. The status of the exception was {1}, and the message was: {2}"; throw new WebDriverException(string.Format(CultureInfo.InvariantCulture, format2, new object[] { request.RequestUri.AbsoluteUri, ex.Status, ex.Message }), ex); } } if (httpWebResponse == null) { throw new WebDriverException("No response from server for url " + request.RequestUri.AbsoluteUri); } string textOfWebResponse = HttpCommandExecutor.GetTextOfWebResponse(httpWebResponse); if (httpWebResponse.ContentType != null && httpWebResponse.ContentType.StartsWith("application/json", StringComparison.OrdinalIgnoreCase)) { response = Response.FromJson(textOfWebResponse); } else { response.Value = textOfWebResponse; } if (this.commandInfoRepository.SpecificationLevel < 1 && (httpWebResponse.StatusCode < HttpStatusCode.OK || httpWebResponse.StatusCode >= HttpStatusCode.BadRequest)) { if (httpWebResponse.StatusCode >= HttpStatusCode.BadRequest && httpWebResponse.StatusCode < HttpStatusCode.InternalServerError) { response.Status = WebDriverResult.UnhandledError; } else if (httpWebResponse.StatusCode >= HttpStatusCode.InternalServerError) { if (httpWebResponse.StatusCode == HttpStatusCode.NotImplemented) { response.Status = WebDriverResult.UnknownCommand; } else if (response.Status == WebDriverResult.Success) { response.Status = WebDriverResult.UnhandledError; } } else { response.Status = WebDriverResult.UnhandledError; } } if (response.Value is string) { response.Value = ((string)response.Value).Replace("\r\n", "\n").Replace("\n", Environment.NewLine); } httpWebResponse.Close(); return(response); }