public Stream DownloadPreview(string userId, string id, PreviewSize size, long?version) { var webRequest = CreatePreviewDocumentRequest(userId, id, size, version); webRequest.Timeout = PREVIEW_TIMEOUT; HttpWebResponse webResponse = null; try { webResponse = (HttpWebResponse)webRequest.GetResponse(); } catch (WebException e) when((e.Response as HttpWebResponse)?.StatusCode == HttpStatusCode.NotFound) { throw new NotFoundException(e.Message, e); } catch (WebException e) when((e.Response as HttpWebResponse)?.StatusCode == HttpStatusCode.NotAcceptable) { throw new NotAcceptableException(e.Message, e); } if (webResponse.StatusCode != HttpStatusCode.OK) { throw new RestClientException("Cannot download preview for document '" + id + "', received status code " + webResponse.StatusCode + "."); } return(DocumentStreamUtils.WrapDownloadStream(webResponse.GetResponseStream(), streamWrapper)); }
public Stream DownloadDocument(string userId, string id, long?version, long?range) { HttpWebRequest webRequest = CreateDownloadDocumentRequest(userId, id, version, range); HttpWebResponse webResponse = null; try { webResponse = (HttpWebResponse)webRequest.GetResponse(); } catch (WebException e) when((e.Response as HttpWebResponse)?.StatusCode == HttpStatusCode.RequestedRangeNotSatisfiable) { throw new RequestedRangeNotSatisfiableException("The requested range cannot be downloaded"); } catch (WebException e) when((e.Response as HttpWebResponse)?.StatusCode != HttpStatusCode.OK) { ThrowRestClientException(e, e.Response as HttpWebResponse); } ValidateResponse(webResponse, userId, range); return(DocumentStreamUtils.WrapDownloadStream(webResponse.GetResponseStream(), streamWrapper)); }