public static async Task <HttpResponseMessage> CreateAndSendWebrequest(WebrequestCreationInfo webrequestCreationInfo, CancellationToken cancellationToken = new CancellationToken()) { await new WaitForUpdate(); using (var request = create_web_request(webrequestCreationInfo)) { return(await unsafe_send_webrequest(request, cancellationToken).ConfigureAwait(false)); } }
public Task <HttpResponseMessage> GetAsync(string uri = "", CancellationToken cancellationToken = new CancellationToken()) { var creationInfo = new WebrequestCreationInfo() { Method = WebRequestMethod.GET, Data = new byte[0], Url = uri }; return(CreateAndSendWebrequest(creationInfo, cancellationToken)); }
public Task <HttpResponseMessage> PostAsync(string uri = "", byte[] postData = default(byte[]), string contentType = "application/json", CancellationToken cancellationToken = new CancellationToken()) { var creationInfo = new WebrequestCreationInfo() { Method = WebRequestMethod.POST, Data = postData, Url = uri, ContentType = contentType }; return(CreateAndSendWebrequest(creationInfo, cancellationToken)); }
public static Task <HttpResponseMessage> DeleteAsync(string uri, byte[] postData = null, string contentType = "application/json", CancellationToken cancellationToken = new CancellationToken()) { var creationInfo = new WebrequestCreationInfo() { Method = WebRequestMethod.DELETE, Data = postData, Url = uri, ContentType = contentType }; return(CreateAndSendWebrequest(creationInfo, cancellationToken)); }
private static UnityWebRequest create_web_request(WebrequestCreationInfo requestCreationInfo) { var webrequest = new UnityWebRequest(requestCreationInfo.Url); webrequest.method = requestCreationInfo.Method.ToString(); if (requestCreationInfo.Data != null && requestCreationInfo.Data.Length != 0) { webrequest.uploadHandler = new UploadHandlerRaw(requestCreationInfo.Data); } foreach (var header in requestCreationInfo.Headers) { webrequest.SetRequestHeader(header.Key, header.Value); } webrequest.downloadHandler = new DownloadHandlerBuffer(); return(webrequest); }
public Task <HttpResponseMessage> CreateAndSendWebrequest(WebrequestCreationInfo webrequestCreationInfo, CancellationToken cancellationToken = new CancellationToken()) { Uri absUri; if (string.IsNullOrWhiteSpace(webrequestCreationInfo.Url)) { if (BaseAddress == null) { throw new Exception("Call address empty with no base address provided"); } else { absUri = BaseAddress; } } else { var requestUri = new Uri(webrequestCreationInfo.Url); absUri = new Uri(BaseAddress, requestUri); if (BaseAddress == null && !requestUri.IsAbsoluteUri) { throw new Exception("No base address for relative Uri provided"); } } var callInput = new WebrequestCreationInfo { Data = webrequestCreationInfo.Data, Headers = webrequestCreationInfo.Headers, Method = webrequestCreationInfo.Method, Url = absUri.AbsoluteUri }; return(WebRequestUtils.CreateAndSendWebrequest(callInput, cancellationToken)); }