private WebServiceReturnStatus doWWWCall(WWW www, ITransfluentParameters wsParams = null) { var sw = new Stopwatch(); sw.Start(); while (true) { if (www.isDone) { break; } if (www.error != null) { break; } if (sw.Elapsed.TotalSeconds >= 1000f) { break; } //EditorApplication.Step(); Thread.Sleep(100); } return(_getMyWwwFacade.getStatusFromFinishedWWW(www, sw, wsParams)); }
private IEnumerator doWebRequest(ITransfluentParameters call, GotstatusUpdate onStatusDone) { var facade = new WWWFacade(); var sw = new Stopwatch(); sw.Start(); WWW www = facade.request(call); yield return(www); var status = new WebServiceReturnStatus { serviceParams = call }; try { status = facade.getStatusFromFinishedWWW(www, sw, call); } catch (CallException e) { Debug.Log("Exception:" + e.Message); } if (onStatusDone != null) { runner.runRoutine(onStatusDone(status)); } }
//throws TransportException,ApplicatonLevelException,HttpErrorCode public WebServiceReturnStatus getStatusFromFinishedWWW(WWW www, Stopwatch sw, ITransfluentParameters originalCallParams) { //Debug.Log("WWW:" + www.url); var status = new WebServiceReturnStatus { serviceParams = originalCallParams }; sw.Stop(); status.requestTimeTaken = sw.Elapsed; if (!www.isDone && www.error == null) { throw new TransportException("Timeout total time taken:"); } if (www.error == null) { status.text = www.text; } else { string error = www.error; if (knownTransportError(error)) { www.Dispose(); throw new TransportException(error); } status.httpErrorCode = -1; int firstSpaceIndex = error.IndexOf(" "); if (firstSpaceIndex > 0) { www.Dispose(); int.TryParse(error.Substring(0, firstSpaceIndex), out status.httpErrorCode); //there has to be a better way to get error codes. if (status.httpErrorCode == 0) { throw new Exception("UNHANDLED ERROR CODE FORMAT:(" + error + ")"); } if (status.httpErrorCode >= 400 && status.httpErrorCode <= 499) { throw new ApplicatonLevelException("HTTP Error code, application level:" + status.httpErrorCode, status.httpErrorCode); } throw new HttpErrorCode(status.httpErrorCode); } throw new Exception("Unknown error:" + error); //can't parse error status } www.Dispose(); return(status); }
//throws TransportException,ApplicatonLevelException,HttpErrorCode public WebServiceReturnStatus getStatusFromFinishedWWW(WWW www, Stopwatch sw, ITransfluentParameters originalCallParams) { UnityEngine.Debug.Log("WWW:" + www.url); var status = new WebServiceReturnStatus { serviceParams = originalCallParams }; sw.Stop(); status.requestTimeTaken = sw.Elapsed; if(!www.isDone && www.error == null) { throw new TransportException("Timeout total time taken:"); } if(www.error == null) { status.text = www.text; } else { string error = www.error; if(knownTransportError(error)) { www.Dispose(); throw new TransportException(error); } status.httpErrorCode = -1; int firstSpaceIndex = error.IndexOf(" "); if(firstSpaceIndex > 0) { www.Dispose(); int.TryParse(error.Substring(0, firstSpaceIndex), out status.httpErrorCode); //there has to be a better way to get error codes. if(status.httpErrorCode == 0) { throw new Exception("UNHANDLED ERROR CODE FORMAT:(" + error + ")"); } if(status.httpErrorCode >= 400 && status.httpErrorCode <= 499) { throw new ApplicatonLevelException("HTTP Error code, application level:" + status.httpErrorCode, status.httpErrorCode); } throw new HttpErrorCode(status.httpErrorCode); } throw new Exception("Unknown error:" + error); //can't parse error status } www.Dispose(); return status; }
private string makeCall(ITransfluentParameters call) { if (!string.IsNullOrEmpty(getCurrentAuthToken())) { context.setMappings(call); call.getParameters.Add("token", getCurrentAuthToken()); //TODO: find best way to handle auth token. construction param,injection or manual setting } var service = context.manualGetMapping <IWebService>(); return(service.request(call).text); }
public WWW request(ITransfluentParameters call) { Route route = RestUrl.GetRouteAttribute(call.GetType()); string url = RestUrl.GetURL(call); string urlWithGetParams = url + encodeGETParams(call.getParameters); if (route.requestType == RestRequestType.GET) { return(request(urlWithGetParams)); } return(request(urlWithGetParams, call.postParameters)); }
public EditorWWWWaitUntil(ITransfluentParameters callParams, Action <WebServiceReturnStatus> callback) { _sw.Start(); _callParams = callParams; _getMyWwwFacade = new WWWFacade(); //string url = _getMyWwwFacade.encodeGETParams(callParams.getParameters); _www = _getMyWwwFacade.request(callParams); _callback = callback; new EditorWaitUntil(() => { return(_www.error != null || _www.isDone); }, internalCallback ); }
private WebServiceReturnStatus doWWWCall(WWW www, ITransfluentParameters wsParams = null) { var sw = new Stopwatch(); sw.Start(); while(true) { if(www.isDone) break; if(www.error != null) break; if(sw.Elapsed.TotalSeconds >= 1000f) break; //EditorApplication.Step(); Thread.Sleep(100); } return _getMyWwwFacade.getStatusFromFinishedWWW(www, sw, wsParams); }
private IEnumerator doWebRequest(ITransfluentParameters call, GotstatusUpdate onStatusDone) { var facade = new WWWFacade(); var sw = new Stopwatch(); sw.Start(); WWW www = facade.request(call); yield return www; var status = new WebServiceReturnStatus { serviceParams = call }; try { status = facade.getStatusFromFinishedWWW(www, sw, call); } catch(CallException e) { Debug.Log("Exception:" + e.Message); } if(onStatusDone != null) { runner.runRoutine(onStatusDone(status)); } }
public WebServiceReturnStatus request(ITransfluentParameters call) { return(realRequest.request(call)); }
public void DoThing(ITransfluentParameters parameters, GameTimeWWW.GotstatusUpdate statusUpdated) { www = new GameTimeWWW(); www.runner = new AsyncRunner(); www.webRequest(parameters, statusUpdated); }
private string makeCall(ITransfluentParameters call) { if(!string.IsNullOrEmpty(getCurrentAuthToken())) { context.setMappings(call); call.getParameters.Add("token", getCurrentAuthToken()); //TODO: find best way to handle auth token. construction param,injection or manual setting } var service = context.manualGetMapping<IWebService>(); return service.request(call).text; }
public void webRequest(ITransfluentParameters call, GotstatusUpdate onStatusDone) { runner.runRoutine(doWebRequest(call, onStatusDone)); }
public EditorWWWWaitUntil(ITransfluentParameters callParams, Action<WebServiceReturnStatus> callback) { _sw.Start(); _callParams = callParams; _getMyWwwFacade = new WWWFacade(); //string url = _getMyWwwFacade.encodeGETParams(callParams.getParameters); _www = _getMyWwwFacade.request(callParams); _callback = callback; new EditorWaitUntil(() => { return _www.error != null || _www.isDone; }, internalCallback ); }
public WebServiceReturnStatus request(ITransfluentParameters parameters) { WWW www = _getMyWwwFacade.request(parameters); return(doWWWCall(www, parameters)); }
public static string GetURL(ITransfluentParameters callToGetUrlFor) { return baseServiceUrl + GetRouteAttribute(callToGetUrlFor.GetType()).route; }
public WebServiceReturnStatus request(ITransfluentParameters parameters) { WWW www = _getMyWwwFacade.request(parameters); return doWWWCall(www, parameters); }
public WebServiceReturnStatus request(ITransfluentParameters call) { return realRequest.request(call); }
public WWW request(ITransfluentParameters call) { Route route = RestUrl.GetRouteAttribute(call.GetType()); string url = RestUrl.GetURL(call); string urlWithGetParams = url + encodeGETParams(call.getParameters); if(route.requestType == RestRequestType.GET) { return request(urlWithGetParams); } return request(urlWithGetParams, call.postParameters); }
public static string GetURL(ITransfluentParameters callToGetUrlFor) { return(baseServiceUrl + GetRouteAttribute(callToGetUrlFor.GetType()).route); }