diff --git a/build/typertext.d.ts b/build/typertext.d.ts index 676288d..2ea0f0b 100644 --- a/build/typertext.d.ts +++ b/build/typertext.d.ts @@ -128,8 +128,11 @@ declare module Typertext.Json { } declare module Typertext.Json { class JsonResponse extends GenericResponse { + private parseSuccess; static fromHttpResponse(httpResponse: Http.HttpResponse): JsonResponse; - constructor(status: Http.HttpResponseStatus, responseHeaderGetter?: (input: string) => string, httpResponseCode?: number, responseBody?: JsonObject); + static fromInvalidHttpResponse(httpResponse: Http.HttpResponse): JsonResponse; + constructor(status: Http.HttpResponseStatus, responseHeaderGetter?: (input: string) => string, httpResponseCode?: number, responseBody?: JsonObject, parseSuccess?: boolean); + public GetParseStatus(): boolean; } } declare module Typertext.Json { diff --git a/build/typertext.js b/build/typertext.js index eb307ae..429ab0b 100644 --- a/build/typertext.js +++ b/build/typertext.js @@ -132,17 +132,17 @@ var Typertext; if (xhr.status == 200) { callback(new Typertext.Http.HttpResponse(0 /* success */, getHeader, xhr.status, xhr.responseText)); } else if (xhr.status >= 400 && xhr.status < 500) { - throw new Typertext.Http.HttpException("The server returned an error response state", xhr.status, new Typertext.Http.HttpResponse(2 /* clientError */, getHeader, xhr.status, xhr.responseText)); + callback(new Typertext.Http.HttpResponse(2 /* clientError */, getHeader, xhr.status, xhr.responseText)); } else if (xhr.status >= 500 && xhr.status < 600) { - throw new Typertext.Http.HttpException("The server returned an error response state", xhr.status, new Typertext.Http.HttpResponse(1 /* serverError */, getHeader, xhr.status, xhr.responseText)); + callback(new Typertext.Http.HttpResponse(1 /* serverError */, getHeader, xhr.status, xhr.responseText)); } else { - throw new Typertext.Http.HttpException("An unknown error has occurred", -2, new Typertext.Http.HttpResponse(4 /* unknownError */, getHeader, xhr.status, xhr.responseText)); + callback(new Typertext.Http.HttpResponse(4 /* unknownError */, getHeader, xhr.status, xhr.responseText)); } } }; xhr.ontimeout = function () { - throw new Typertext.Http.HttpException("The server took too long to respond to our request", -1, new Typertext.Http.HttpResponse(5 /* timeout */, noop, -1, "")); + callback(new Typertext.Http.HttpResponse(5 /* timeout */, noop, -1, "")); }; xhr.open(Typertext.Http.HttpMethod[method], request.ToString(), true); @@ -315,8 +315,6 @@ var Typertext; (function (Json) { var HttpRequest = Typertext.Http.HttpRequest; - var HttpResponseStatus = Typertext.Http.HttpResponseStatus; - var HttpMethod = Typertext.Http.HttpMethod; var JsonRequest = (function () { @@ -336,18 +334,19 @@ var Typertext; JsonRequest.prototype.RawRequest = function (method, request, postData, callback) { var _this = this; if (typeof postData === "undefined") { postData = {}; } - if (typeof callback === "undefined") { callback = function (c) { - }; } + if (typeof callback != "function") { + this.request.RawRequest(method, request, postData, function () { + }); + return; + } + this.request.RawRequest(method, request, postData, function (response) { if (response.GetContentType() != _this.jsonType) { - callback(new Typertext.Json.JsonResponse(3 /* responseError */)); + callback(Typertext.Json.JsonResponse.fromInvalidHttpResponse(response)); + return; } - try { - callback(Typertext.Json.JsonResponse.fromHttpResponse(response)); - } catch (e) { - throw new Typertext.Json.JsonException("Json parse exception", -1); - } + callback(Typertext.Json.JsonResponse.fromHttpResponse(response)); }); }; return JsonRequest; @@ -359,13 +358,29 @@ var Typertext; var Typertext; (function (Typertext) { (function (Json) { + var HttpResponseStatus = Typertext.Http.HttpResponseStatus; + var JsonResponse = (function (_super) { __extends(JsonResponse, _super); - function JsonResponse(status, responseHeaderGetter, httpResponseCode, responseBody) { + function JsonResponse(status, responseHeaderGetter, httpResponseCode, responseBody, parseSuccess) { _super.call(this, status, responseHeaderGetter, httpResponseCode, responseBody); + parseSuccess = !!parseSuccess || false; + this.parseSuccess = parseSuccess; } JsonResponse.fromHttpResponse = function (httpResponse) { - return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), window["JSON"].parse(httpResponse.GetContent())); + try { + return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), window["JSON"].parse(httpResponse.GetContent()), true); + } catch (e) { + return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), null); + } + }; + + JsonResponse.fromInvalidHttpResponse = function (httpResponse) { + return new JsonResponse(3 /* responseError */, httpResponse.GetHeader, httpResponse.GetHttpStatus()); + }; + + JsonResponse.prototype.GetParseStatus = function () { + return this.parseSuccess; }; return JsonResponse; })(Typertext.GenericResponse); diff --git a/build/typertext.js.map b/build/typertext.js.map index 4e404f4..c9b6faa 100644 --- a/build/typertext.js.map +++ b/build/typertext.js.map @@ -1 +1 @@ -{"version":3,"file":"typertext.js","sourceRoot":"","sources":["../lib/Typertext/BaseException.ts","../lib/Typertext/GenericRequest.ts","../lib/Typertext/GenericResponse.ts","../lib/Typertext/GenericResponseHandler.ts","../lib/Typertext/Http/HttpException.ts","../lib/Typertext/Http/HttpMethod.ts","../lib/Typertext/Http/HttpPostData.ts","../lib/Typertext/Http/HttpProtocol.ts","../lib/Typertext/Http/HttpQueryString.ts","../lib/Typertext/Http/HttpRequest.ts","../lib/Typertext/Http/HttpResponse.ts","../lib/Typertext/Http/HttpResponseHandler.ts","../lib/Typertext/Http/HttpResponseStatus.ts","../lib/Typertext/Http/HttpUrl.ts","../lib/Typertext/Json/JsonException.ts","../lib/Typertext/Json/JsonObject.ts","../lib/Typertext/Json/JsonRequest.ts","../lib/Typertext/Json/JsonResponse.ts","../lib/Typertext/Json/JsonResponseHandler.ts"],"names":["Typertext","Typertext.BaseException","Typertext.BaseException.constructor","Typertext.BaseException.GetCode","Typertext.BaseException.GetMessage","Typertext.BaseException.GetCustom","Typertext.GenericResponse","Typertext.GenericResponse.constructor","Typertext.GenericResponse.GetContent","Typertext.GenericResponse.GetContentType","Typertext.GenericResponse.GetHeader","Typertext.GenericResponse.GetHttpStatus","Typertext.GenericResponse.GetStatus","Typertext.Http","Typertext.Http.HttpException","Typertext.Http.HttpException.constructor","Typertext.Http.HttpMethod","Typertext.Http.HttpProtocol","Typertext.Http.HttpRequest","Typertext.Http.HttpRequest.constructor","Typertext.Http.HttpRequest.Get","Typertext.Http.HttpRequest.Post","Typertext.Http.HttpRequest.RawRequest","Typertext.Http.HttpResponse","Typertext.Http.HttpResponse.constructor","Typertext.Http.HttpResponseStatus","Typertext.Http.HttpUrl","Typertext.Http.HttpUrl.constructor","Typertext.Http.HttpUrl.DefaultPort","Typertext.Http.HttpUrl.FromUrl","Typertext.Http.HttpUrl.DecodeQueryString","Typertext.Http.HttpUrl.EncodeQueryString","Typertext.Http.HttpUrl.UrlEncodeObject","Typertext.Http.HttpUrl.UrlDecodeString","Typertext.Http.HttpUrl.splitString","Typertext.Http.HttpUrl.ToString","Typertext.Json","Typertext.Json.JsonException","Typertext.Json.JsonException.constructor","Typertext.Json.JsonRequest","Typertext.Json.JsonRequest.constructor","Typertext.Json.JsonRequest.Get","Typertext.Json.JsonRequest.Post","Typertext.Json.JsonRequest.RawRequest","Typertext.Json.JsonResponse","Typertext.Json.JsonResponse.constructor","Typertext.Json.JsonResponse.fromHttpResponse"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"typertext.js","sourceRoot":"","sources":["../lib/Typertext/BaseException.ts","../lib/Typertext/GenericRequest.ts","../lib/Typertext/GenericResponse.ts","../lib/Typertext/GenericResponseHandler.ts","../lib/Typertext/Http/HttpException.ts","../lib/Typertext/Http/HttpMethod.ts","../lib/Typertext/Http/HttpPostData.ts","../lib/Typertext/Http/HttpProtocol.ts","../lib/Typertext/Http/HttpQueryString.ts","../lib/Typertext/Http/HttpRequest.ts","../lib/Typertext/Http/HttpResponse.ts","../lib/Typertext/Http/HttpResponseHandler.ts","../lib/Typertext/Http/HttpResponseStatus.ts","../lib/Typertext/Http/HttpUrl.ts","../lib/Typertext/Json/JsonException.ts","../lib/Typertext/Json/JsonObject.ts","../lib/Typertext/Json/JsonRequest.ts","../lib/Typertext/Json/JsonResponse.ts","../lib/Typertext/Json/JsonResponseHandler.ts"],"names":["Typertext","Typertext.BaseException","Typertext.BaseException.constructor","Typertext.BaseException.GetCode","Typertext.BaseException.GetMessage","Typertext.BaseException.GetCustom","Typertext.GenericResponse","Typertext.GenericResponse.constructor","Typertext.GenericResponse.GetContent","Typertext.GenericResponse.GetContentType","Typertext.GenericResponse.GetHeader","Typertext.GenericResponse.GetHttpStatus","Typertext.GenericResponse.GetStatus","Typertext.Http","Typertext.Http.HttpException","Typertext.Http.HttpException.constructor","Typertext.Http.HttpMethod","Typertext.Http.HttpProtocol","Typertext.Http.HttpRequest","Typertext.Http.HttpRequest.constructor","Typertext.Http.HttpRequest.Get","Typertext.Http.HttpRequest.Post","Typertext.Http.HttpRequest.RawRequest","Typertext.Http.HttpResponse","Typertext.Http.HttpResponse.constructor","Typertext.Http.HttpResponseStatus","Typertext.Http.HttpUrl","Typertext.Http.HttpUrl.constructor","Typertext.Http.HttpUrl.DefaultPort","Typertext.Http.HttpUrl.FromUrl","Typertext.Http.HttpUrl.DecodeQueryString","Typertext.Http.HttpUrl.EncodeQueryString","Typertext.Http.HttpUrl.UrlEncodeObject","Typertext.Http.HttpUrl.UrlDecodeString","Typertext.Http.HttpUrl.splitString","Typertext.Http.HttpUrl.ToString","Typertext.Json","Typertext.Json.JsonException","Typertext.Json.JsonException.constructor","Typertext.Json.JsonRequest","Typertext.Json.JsonRequest.constructor","Typertext.Json.JsonRequest.Get","Typertext.Json.JsonRequest.Post","Typertext.Json.JsonRequest.RawRequest","Typertext.Json.JsonResponse","Typertext.Json.JsonResponse.constructor","Typertext.Json.JsonResponse.fromHttpResponse","Typertext.Json.JsonResponse.fromInvalidHttpResponse","Typertext.Json.JsonResponse.GetParseStatus"],"mappings":"AAKA,IAAO,SAAS;AA+Cf,CA/CD,UAAO,SAAS;IACZA;QAaIC,uBAAYA,OAAcA,EAAEA,IAAWA,EAAEA,MAAQA;YAC7CC,IAAIA,CAACA,OAAOA,GAAGA,OAAOA;YACtBA,IAAIA,CAACA,IAAIA,GAAGA,IAAIA;YAChBA,IAAIA,CAACA,MAAMA,GAAGA,MAAMA;QACxBA,CAACA;QAODD,kCAAAA;YACIE,OAAOA,IAAIA,CAACA,IAAIA;QACpBA,CAACA;;QAODF,qCAAAA;YACIG,OAAOA,IAAIA,CAACA,OAAOA;QACvBA,CAACA;;QAODH,oCAAAA;YACII,OAAOA,IAAIA,CAACA,MAAMA;QACtBA,CAACA;QACLJ,qBAACA;IAADA,CAACA,IAAAD;IA7CDA,wCA6CCA;AACLA,CAACA,iCAAA;AC/CD,IAAO,SAAS;AA6Cf,CA7CD,UAAO,SAAS;;AA6ChBA,CAACA,iCAAA;AC7CD,IAAO,SAAS;AAiFf,CAjFD,UAAO,SAAS;IAGZA;QAsBIM,yBAAYA,MAAyBA,EAAEA,oBAA4CA,EAAEA,gBAAwBA,EAAEA,YAAeA;YAC1HC,IAAIA,CAACA,MAAMA,GAAGA,MAAMA;YACpBA,IAAIA,CAACA,OAAOA,GAAGA,oBAAoBA;YACnCA,IAAIA,CAACA,UAAUA,GAAGA,gBAAgBA;YAClCA,IAAIA,CAACA,OAAOA,GAAGA,YAAYA;QAC/BA,CAACA;QAODD,uCAAAA;YACIE,OAAOA,IAAIA,CAACA,OAAOA;QACvBA,CAACA;;QAQDF,2CAAAA;YACIG,OAAOA,IAAIA,CAACA,SAASA,CAACA,cAAcA,CAACA;QACzCA,CAACA;;QAQDH,sCAAAA,UAAiBA,IAAWA;YACxBI,OAAOA,IAAIA,CAACA,OAAOA,CAACA,IAAIA,CAACA;QAC7BA,CAACA;;QAQDJ,0CAAAA;YACIK,OAAOA,IAAIA,CAACA,UAAUA;QAC1BA,CAACA;;QAQDL,sCAAAA;YACIM,OAAOA,IAAIA,CAACA,MAAMA;QACtBA,CAACA;QACLN,uBAACA;IAADA,CAACA,IAAAN;IA7EDA,4CA6ECA;AACLA,CAACA,iCAAA;;;;;;;AElFD,IAAO,SAAS;AAMf,CAND,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QAIjBa;YAAmCC,gCAAqCA;YAAxEA;gBAAmCC,6BAAqCA;YACxEA,CAACA;AAAAD,YAADA,qBAACA;QAADA,CAACA,EADkCD,SAASA,CAACA,aAAaA,EACzDA;QADDA,mCACCA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;ACND,IAAO,SAAS;AAQf,CARD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;SAIjBa,UAAYA,UAAUA;YAClBG,yCAAGA;YACHA,2CAAIA;sDACPH;yCAAAA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;AERD,IAAO,SAAS;AAKf,CALD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;SACjBa,UAAYA,YAAYA;YACpBI,+CAAIA;YACJA,iDAAKA;0DACRJ;6CAAAA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;AEFD,IAAO,SAAS;AAsGf,CAtGD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QACjBa;YAWQK;YACJC,CAACA;YAQDD,4BAAAA,UAAWA,OAAeA,EAAEA,QAA4BA;gBACpDE,IAAIA,CAACA,UAAUA,CAACA,WAAcA,EAAEA,OAAOA,EAAEA,EAAEA,EAAEA,QAAQA,CAACA;YAC1DA,CAACA;;YASDF,6BAAAA,UAAYA,OAAeA,EAAEA,QAAqBA,EAAEA,QAA4BA;gBAC5EG,IAAIA,CAACA,UAAUA,CAACA,YAAeA,EAAEA,OAAOA,EAAEA,QAAQA,EAAEA,QAAQA,CAACA;YACjEA,CAACA;;YAWDH,mCAAAA,UAAkBA,MAAiBA,EAAEA,OAAeA,EAAEA,QAA0BA,EAAEA,QACjFA;gBADqDI,uCAAAA,QAAQA,GAAgBA,EAAEA;AAAAA,gBAAEA,uCAAAA,QAAQA,GAAuBA,UAACA,CAACA;gBACnHA,CAACA;AAAAA,gBACGA,IAAIA,IAAIA,GAAGA,UAACA,CAAQA;oBAChBA,OAAOA,EAAEA;gBACbA,CAACA;;gBAGDA,IAAIA,GAAGA,GAAGA,IAAIA,cAAcA,CAACA,CAACA;;gBAG9BA,GAAGA,CAACA,kBAAkBA,GAAGA;oBAErBA,IAAIA,GAAGA,CAACA,UAAUA,IAAIA,CAACA,CAAEA;wBAErBA,IAAIA,SAASA,GAAGA,UAACA,IAAWA;4BACxBA,OAAOA,GAAGA,CAACA,iBAAiBA,CAACA,IAAIA,CAACA;wBACtCA,CAACA;;wBAGDA,IAAIA,GAAGA,CAACA,MAAMA,IAAIA,GAAGA,CAAEA;4BAEnBA,QAAQA,CAACA,IAAIA,2BAAYA,CAACA,eAA0BA,EAAEA,SAASA,EAAEA,GAAGA,CAACA,MAAMA,EAAEA,GAAGA,CAACA,YAAYA,CAACA,CAACA;yBAClGA,MAAMA,IAAIA,GAAGA,CAACA,MAAMA,IAAIA,GAAGA,IAAIA,GAAGA,CAACA,MAAMA,GAAGA,GAAGA,CAAEA;4BAE9CA,QAAQA,CAACA,IAAIA,2BAAYA,CAACA,mBAA8BA,EAAEA,SAASA,EAAEA,GAAGA,CAACA,MAAMA,EAAEA,GAAGA,CAACA,YAAYA,CAACA,CAACA;yBACtGA,MAAMA,IAAIA,GAAGA,CAACA,MAAMA,IAAIA,GAAGA,IAAIA,GAAGA,CAACA,MAAMA,GAAGA,GAAGA,CAAEA;4BAE9CA,QAAQA,CAACA,IAAIA,2BAAYA,CAACA,mBAA8BA,EAAEA,SAASA,EAAEA,GAAGA,CAACA,MAAMA,EAAEA,GAAGA,CAACA,YAAYA,CAACA,CAACA;yBACtGA,KAAMA;4BAEHA,QAAQA,CAACA,IAAIA,2BAAYA,CAACA,oBAA+BA,EAAEA,SAASA,EAAEA,GAAGA,CAACA,MAAMA,EAAEA,GAAGA,CAACA,YAAYA,CAACA,CAACA;yBACvGA;qBACJA;gBACLA,CAACA;;gBAGDA,GAAGA,CAACA,SAASA,GAAGA;oBAEZA,QAAQA,CAACA,IAAIA,2BAAYA,CAACA,eAA0BA,EAAEA,IAAIA,EAAEA,CAACA,CAACA,EAAEA,EAAEA,CAACA,CAACA;gBACxEA,CAACA;;gBAGDA,GAAGA,CAACA,IAAIA,CAACA,yBAAUA,CAACA,MAAMA,CAACA,EAAEA,OAAOA,CAACA,QAAQA,CAACA,CAACA,EAAEA,IAAIA,CAACA;;gBAGtDA,IAAIA,MAAMA,IAAIA,WAAcA,CAAEA;oBAE1BA,GAAGA,CAACA,IAAIA,CAACA,CAACA;oBACVA,MAAOA;iBACVA;;gBAGDA,GAAGA,CAACA,gBAAgBA,CAACA,cAAcA,EAAEA,mCAAmCA,CAACA;;gBAEzEA,GAAGA,CAACA,IAAIA,CAACA,sBAAOA,CAACA,eAAeA,CAACA,QAAQA,CAACA,CAACA;YAC/CA,CAACA;YACLJ,mBAACA;QAADA,CAACA,IAAAL;QApGDA,+BAoGCA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;ACzGD,IAAO,SAAS;AAqBf,CArBD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QACjBa;YAAkCU,+BAAiCA;YAgB3DA,sBAAYA,MAAyBA,EAAEA,oBAA4CA,EAAEA,gBAAwBA,EAAEA,YAAoBA;gBACnIC,WAAMA,OAAAA,MAAMA,EAAEA,oBAAoBA,EAAEA,gBAAgBA,EAAEA,YAAYA,CAACA;YACvEA,CAACA;YACLD,oBAACA;QAADA,CAACA,EAnBiCV,SAASA,CAACA,eAAeA,EAmB1DA;QAnBDA,iCAmBCA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;AErBD,IAAO,SAAS;AASf,CATD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;SACjBa,UAAYA,kBAAkBA;YAC1BY,iEAAOA;YACPA,yEAAWA;YACXA,yEAAWA;YACXA,6EAAaA;YACbA,2EAAYA;YACZA,iEAAOA;sEACVZ;yDAAAA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;ACTD,IAAO,SAAS;AAqKf,CArKD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QACjBa;YAyIIa,iBAAYA,MAAaA,EAAEA,QAAyCA,EAAEA,IAAiBA,EAAEA,WAAgCA,EAAEA,IAAeA;gBAA/GC,uCAAAA,QAAQA,GAAgBA,YAAiBA;AAAAA,gBAAEA,mCAAAA,IAAIA,GAAUA,GAAGA;AAAAA,gBAAEA,0CAAAA,WAAWA,GAAmBA,EAAEA;AAAAA,gBAAEA,mCAAAA,IAAIA,GAAUA,CAACA;AAAAA,gBACtIA,IAAIA,IAAIA,GAAGA,CAACA,IAAIA,IAAIA,GAAGA,KAAKA,IAAIA,KAAKA,CAACA,IAAIA,CAACA,CAAEA;oBACzCA,IAAIA,GAAGA,OAAOA,CAACA,WAAWA,CAACA,QAAQA,CAACA;iBACvCA;;gBAEDA,IAAIA,IAAIA,CAACA,OAAOA,CAACA,GAAGA,CAACA,IAAIA,CAACA,CAAEA;oBACxBA,IAAIA,GAAGA,GAAGA,GAAGA,IAAIA;iBACpBA;;gBAEDA,IAAIA,CAACA,MAAMA,GAAGA,MAAMA;gBACpBA,IAAIA,CAACA,QAAQA,GAAGA,QAAQA;gBACxBA,IAAIA,CAACA,IAAIA,GAAGA,IAAIA;gBAChBA,IAAIA,CAACA,WAAWA,GAAGA,WAAWA;gBAC9BA,IAAIA,CAACA,IAAIA,GAAGA,IAAIA;YACpBA,CAACA;YA3IDD,sBAAAA,UAA0BA,QAAqBA;gBAC3CE,QAAOA,QAAQA,CAACA;oBACZA,KAAKA,YAAiBA;wBAClBA,OAAOA,EAAEA;AAACA,oBACdA,KAAKA,aAAkBA;wBACnBA,OAAOA,GAAGA;AAACA,oBACfA;wBACIA,OAAOA,CAACA,CAACA;AAACA,iBACjBA;YACLA,CAACA;;YAQDF,kBAAAA,UAAsBA,QAAeA;gBACjCG,IAAIA,CAACA,GAAGA,QAAQA,CAACA,aAAaA,CAACA,GAAGA,CAACA;gBACnCA,CAACA,CAACA,IAAIA,GAAGA,QAAQA;gBACjBA,OAAOA,IAAIA,OAAOA,CAACA,CAACA,CAACA,QAAQA,EAAEA,2BAAYA,CAACA,CAACA,CAACA,QAAQA,CAACA,KAAKA,CAACA,CAACA,EAACA,CAACA,CAACA,CAACA,CAACA,EAAEA,CAACA,CAACA,QAAQA,EAAEA,OAAOA,CAACA,iBAAiBA,CAACA,CAACA,CAACA,MAAMA,CAACA,EAAEA,QAAQA,CAACA,CAACA,CAACA,IAAIA,CAACA,CAACA;YAC3IA,CAACA;;YAQDH,4BAAAA,UAAgCA,WAAkBA;gBAC9CI,IAAIA,WAAWA,CAACA,OAAOA,CAACA,GAAGA,CAACA,IAAIA,CAACA,CAAEA;oBAC/BA,WAAWA,GAAGA,WAAWA,CAACA,SAASA,CAACA,CAACA,CAACA;iBACzCA;;gBAEDA,OAAOA,OAAOA,CAACA,eAAeA,CAACA,WAAWA,CAACA;YAC/CA,CAACA;;YAQDJ,4BAAAA,UAAgCA,KAAqBA;gBACjDK,IAAIA,EAAEA,GAAGA,GAAGA,GAAGA,OAAOA,CAACA,eAAeA,CAACA,KAAKA,CAACA;gBAC7CA,OAAOA,CAACA,CAACA,EAAEA,CAACA,MAAMA,IAAIA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,EAAEA,CAACA;YACvCA,CAACA;;YAQDL,0BAAAA,UAA8BA,IAAoBA;gBAC9CM,IAAIA,EAAEA,GAAUA,EAAEA;gBAClBA,IAAIA,IAAIA;;gBAERA,KAAKA,IAAIA,IAAIA,IAAIA,CAAEA;oBACfA,EAAEA,IAAIA,kBAAkBA,CAACA,IAAIA,CAACA,GAAGA,GAAGA,GAAGA,kBAAkBA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,GAAGA,GAAGA;iBAC9EA;;gBAEDA,OAAOA,EAAEA,CAACA,KAAKA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA;YAC1BA,CAACA;;YAQDN,0BAAAA,UAA8BA,WAAkBA;gBAC5CO,IAAIA,WAAWA,GAAmBA,EAAEA,EAAEA,MAAMA,GAAYA,OAAOA,CAACA,WAAWA,CAACA,WAAWA,EAAEA,GAAGA,CAACA;gBAC7FA,KAAKA,IAAIA,CAACA,GAAUA,CAACA,EAAEA,CAACA,GAAGA,MAAMA,CAACA,MAAMA,EAAEA,CAACA,EAAEA,CAAEA;oBAC3CA,IAAIA,MAAMA,CAACA,CAACA,CAACA,IAAIA,EAAEA,CAAEA;wBACjBA,QAASA;qBACZA;;oBAEDA,IAAIA,KAAKA,GAAGA,OAAOA,CAACA,WAAWA,CAACA,MAAMA,CAACA,CAACA,CAACA,EAAEA,GAAGA,EAAEA,CAACA,CAACA;oBAClDA,IAAIA,GAAGA,GAAGA,kBAAkBA,CAACA,KAAKA,CAACA,CAACA,CAACA,CAACA;oBACtCA,IAAIA,KAAKA,CAACA,MAAMA,IAAIA,CAACA,CAAEA;wBACnBA,WAAWA,CAACA,GAAGA,CAACA,GAAGA,EAAEA;wBACrBA,QAASA;qBACZA;;oBAEDA,WAAWA,CAACA,GAAGA,CAACA,GAAGA,kBAAkBA,CAACA,KAAKA,CAACA,CAACA,CAACA,CAACA;iBAClDA;;gBAEDA,OAAOA,WAAWA;YACtBA,CAACA;;YAWDP,sBAAAA,UAA2BA,KAAYA,EAAEA,SAAgBA,EAAEA,KAAiBA;gBAAjBQ,oCAAAA,KAAKA,GAAUA,CAACA,CAACA;AAAAA,gBACxEA,KAAKA,EAAEA;gBACPA,IAAIA,MAAMA,GAAYA,KAAKA,CAACA,KAAKA,CAACA,SAASA,CAACA;gBAC5CA,IAAIA,KAAKA,GAAGA,CAACA,IAAIA,MAAMA,CAACA,MAAMA,GAAGA,KAAKA,CAAEA;oBACpCA,IAAIA,GAAGA,GAAGA,MAAMA,CAACA,MAAMA,CAACA,CAACA,EAAEA,KAAKA,CAACA;oBACjCA,GAAGA,CAACA,IAAIA,CAACA,MAAMA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA;oBAChCA,OAAOA,GAAGA;iBACbA;gBACDA,OAAOA,MAAMA;YACjBA,CAACA;;YAqCDR,6BAAAA;gBACIS,OAAOA,2BAAYA,CAACA,IAAIA,CAACA,QAAQA,CAACA,GAAGA,KAAKA,GAAGA,IAAIA,CAACA,MAAMA,GACpDA,CAACA,CAACA,IAAIA,CAACA,IAAIA,IAAIA,OAAOA,CAACA,WAAWA,CAACA,IAAIA,CAACA,QAAQA,CAACA,CAACA,GAAGA,EAAEA,GAAGA,GAAGA,GAAGA,IAAIA,CAACA,IAAIA,CAACA,GAAGA,IAAIA,CAACA,IAAIA,GACtFA,OAAOA,CAACA,iBAAiBA,CAACA,IAAIA,CAACA,WAAWA,CAACA;YACnDA,CAACA;YACLT,eAACA;QAADA,CAACA,IAAAb;QAnKDA,uBAmKCA;IACLA,CAACA,2CAAAb;8BAAAA;AAADA,CAACA,iCAAA;ACrKD,IAAO,SAAS;AAiBf,CAjBD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QACjBoC;YAAmCC,gCAA6BA;YAY5DA,uBAAYA,OAAcA,EAAEA,IAAWA;gBACnCC,WAAMA,OAAAA,OAAOA,EAAEA,IAAIA,EAAEA,IAAIA,CAACA;YAC9BA,CAACA;YACLD,qBAACA;QAADA,CAACA,EAfkCD,SAASA,CAACA,aAAaA,EAezDA;QAfDA,mCAeCA;IACLA,CAACA,2CAAApC;8BAAAA;AAADA,CAACA,iCAAA;AEjBD,IAAO,SAAS;AAmFf,CAnFD,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QACjBoC,kBAAqBA,SAASA,CAACA,IAAIA,CAACA,WAAWA;;QAK/CA,iBAAoBA,SAASA,CAACA,IAAIA,CAACA,UAAUA;;QAE7CA;YAmBQG,qBAAYA,eAA2CA;gBAA3CC,8CAAAA,eAAeA,GAAUA,kBAAkBA;AAAAA,gBACvDA,IAAIA,CAACA,OAAOA,GAAGA,IAAIA,WAAWA,CAACA,CAACA;gBAChCA,IAAIA,CAACA,QAAQA,GAAGA,eAAeA;YACnCA,CAACA;YAQDD,4BAAAA,UAAWA,OAAeA,EAAEA,QAA4BA;gBACpDE,IAAIA,CAACA,UAAUA,CAACA,WAAcA,EAAEA,OAAOA,EAAEA,EAAEA,EAAEA,QAAQA,CAACA;YAC1DA,CAACA;;YASDF,6BAAAA,UAAYA,OAAeA,EAAEA,QAAqBA,EAAEA,QAA4BA;gBAC5EG,IAAIA,CAACA,UAAUA,CAACA,YAAeA,EAAEA,OAAOA,EAAEA,QAAQA,EAAEA,QAAQA,CAACA;YACjEA,CAACA;;YAUDH,mCAAAA,UAAkBA,MAAiBA,EAAEA,OAAeA,EAAEA,QAAyCA,EAAEA,QAA6BA;gBAA9HI,iBAoBCA;gBApBqDA,uCAAAA,QAAQA,GAA+BA,EAAEA;AAAAA,gBAE3FA,IAAIA,OAAOA,QAAQA,IAAIA,UAAUA,CAAEA;oBAE/BA,IAAIA,CAACA,OAAOA,CAACA,UAAUA,CAACA,MAAMA,EAAEA,OAAOA,EAAEA,QAAQA,EAAEA;oBAAKA,CAACA,CAACA;oBAC1DA,MAAOA;iBACVA;;gBAGDA,IAAIA,CAACA,OAAOA,CAACA,UAAUA,CAACA,MAAMA,EAAEA,OAAOA,EAAEA,QAAQA,EAAEA,UAACA,QAAqBA;oBAErEA,IAAIA,QAAQA,CAACA,cAAcA,CAACA,CAACA,IAAIA,KAAIA,CAACA,QAAQA,CAAEA;wBAE5CA,QAAQA,CAACA,2BAAYA,CAACA,uBAAuBA,CAACA,QAAQA,CAACA,CAACA;wBACxDA,MAAOA;qBACVA;;oBAGDA,QAAQA,CAACA,2BAAYA,CAACA,gBAAgBA,CAACA,QAAQA,CAACA,CAACA;gBACrDA,CAACA,CAACA;YACNA,CAACA;YACLJ,mBAACA;QAADA,CAACA,IAAAH;QA1EDA,+BA0ECA;IACLA,CAACA,2CAAApC;8BAAAA;AAADA,CAACA,iCAAA;ACnFD,IAAO,SAAS;AAiEf,CAjED,UAAO,SAAS;KAAhBA,UAAiBA,IAAIA;QAEjBoC,yBAA4BA,SAASA,CAACA,IAAIA,CAACA,kBAAkBA;;QAE7DA;YAAkCQ,+BAAqCA;YA8CnEA,sBAAYA,MAAyBA,EAAEA,oBAA4CA,EAAEA,gBAAwBA,EAAEA,YAAwBA,EAAEA,YAAqBA;gBAC1JC,WAAMA,OAAAA,MAAMA,EAAEA,oBAAoBA,EAAEA,gBAAgBA,EAAEA,YAAYA,CAACA;gBACnEA,YAAYA,GAAGA,CAACA,CAACA,YAAYA,IAAIA,KAAKA;gBACtCA,IAAIA,CAACA,YAAYA,GAAGA,YAAYA;YACpCA,CAACA;YAnCDD,gCAAAA,UAA+BA,YAAyBA;gBACpDE,IAAIA;oBACAA,OAAOA,IAAIA,YAAYA,CAACA,YAAYA,CAACA,SAASA,CAACA,CAACA,EAAEA,YAAYA,CAACA,SAASA,EAAEA,YAAYA,CAACA,aAAaA,CAACA,CAACA,EAAEA,MAAMA,CAACA,MAAMA,CAACA,CAACA,KAAKA,CAACA,YAAYA,CAACA,UAAUA,CAACA,CAACA,CAACA,EAAEA,IAAIA,CAACA;iBACjKA,CAACA,OAAMA,CAACA,CAAEA;oBACPA,OAAOA,IAAIA,YAAYA,CAACA,YAAYA,CAACA,SAASA,CAACA,CAACA,EAAEA,YAAYA,CAACA,SAASA,EAAEA,YAAYA,CAACA,aAAaA,CAACA,CAACA,EAAEA,IAAIA,CAACA;iBAChHA;YACLA,CAACA;;YAQDF,uCAAAA,UAAsCA,YAAyBA;gBACvDG,OAAOA,IAAIA,YAAYA,CAACA,qBAAgCA,EAAEA,YAAYA,CAACA,SAASA,EAAEA,YAAYA,CAACA,aAAaA,CAACA,CAACA,CAACA;YACvHA,CAACA;;YA0BDH,wCAAAA;gBACII,OAAOA,IAAIA,CAACA,YAAYA;YAC5BA,CAACA;YACLJ,oBAACA;QAADA,CAACA,EA5DiCR,SAASA,CAACA,eAAeA,EA4D1DA;QA5DDA,iCA4DCA;IACLA,CAACA,2CAAApC;8BAAAA;AAADA,CAACA,iCAAA"} \ No newline at end of file diff --git a/build/typertext.min.js b/build/typertext.min.js index 3dc2f0f..5bba2ff 100644 --- a/build/typertext.min.js +++ b/build/typertext.min.js @@ -1,2 +1,2 @@ -var Typertext;!function(a){var b=function(){function a(a,b,c){this.message=a,this.code=b,this.custom=c}return a.prototype.GetCode=function(){return this.code},a.prototype.GetMessage=function(){return this.message},a.prototype.GetCustom=function(){return this.custom},a}();a.BaseException=b}(Typertext||(Typertext={}));var Typertext;!function(){}(Typertext||(Typertext={}));var Typertext;!function(a){var b=function(){function a(a,b,c,d){this.status=a,this.headers=b,this.httpStatus=c,this.content=d}return a.prototype.GetContent=function(){return this.content},a.prototype.GetContentType=function(){return this.GetHeader("Content-Type")},a.prototype.GetHeader=function(a){return this.headers(a)},a.prototype.GetHttpStatus=function(){return this.httpStatus},a.prototype.GetStatus=function(){return this.status},a}();a.GenericResponse=b}(Typertext||(Typertext={}));var __extends=this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);c.prototype=b.prototype,a.prototype=new c},Typertext;!function(a){!function(b){var c=function(a){function b(){a.apply(this,arguments)}return __extends(b,a),b}(a.BaseException);b.HttpException=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(a){!function(a){a[a.GET=0]="GET",a[a.POST=1]="POST"}(a.HttpMethod||(a.HttpMethod={}));a.HttpMethod}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(a){!function(a){a[a.http=0]="http",a[a.https=1]="https"}(a.HttpProtocol||(a.HttpProtocol={}));a.HttpProtocol}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(){function b(){}return b.prototype.Get=function(a,b){this.RawRequest(0,a,{},b)},b.prototype.Post=function(a,b,c){this.RawRequest(1,a,b,c)},b.prototype.RawRequest=function(b,c,d,e){"undefined"==typeof d&&(d={}),"undefined"==typeof e&&(e=function(){});var f=function(){return""},g=new XMLHttpRequest;return g.onreadystatechange=function(){if(4==g.readyState){var b=function(a){return g.getResponseHeader(a)};if(200!=g.status)throw g.status>=400&&g.status<500?new a.Http.HttpException("The server returned an error response state",g.status,new a.Http.HttpResponse(2,b,g.status,g.responseText)):g.status>=500&&g.status<600?new a.Http.HttpException("The server returned an error response state",g.status,new a.Http.HttpResponse(1,b,g.status,g.responseText)):new a.Http.HttpException("An unknown error has occurred",-2,new a.Http.HttpResponse(4,b,g.status,g.responseText));e(new a.Http.HttpResponse(0,b,g.status,g.responseText))}},g.ontimeout=function(){throw new a.Http.HttpException("The server took too long to respond to our request",-1,new a.Http.HttpResponse(5,f,-1,""))},g.open(a.Http.HttpMethod[b],c.ToString(),!0),0==b?void g.send():(g.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void g.send(a.Http.HttpUrl.UrlEncodeObject(d)))},b}();b.HttpRequest=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(a){function b(b,c,d,e){a.call(this,b,c,d,e)}return __extends(b,a),b}(a.GenericResponse);b.HttpResponse=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(a){!function(a){a[a.success=0]="success",a[a.serverError=1]="serverError",a[a.clientError=2]="clientError",a[a.responseError=3]="responseError",a[a.unknownError=4]="unknownError",a[a.timeout=5]="timeout"}(a.HttpResponseStatus||(a.HttpResponseStatus={}));a.HttpResponseStatus}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(){function b(a,c,d,e,f){"undefined"==typeof c&&(c=0),"undefined"==typeof d&&(d="/"),"undefined"==typeof e&&(e={}),"undefined"==typeof f&&(f=0),(1>f||f>65535||isNaN(f))&&(f=b.DefaultPort(c)),0!=d.indexOf("/")&&(d="/"+d),this.domain=a,this.protocol=c,this.path=d,this.queryString=e,this.port=f}return b.DefaultPort=function(a){switch(a){case 0:return 80;case 1:return 443;default:return-1}},b.FromUrl=function(c){var d=document.createElement("a");return d.href=c,new b(d.hostname,a.Http.HttpProtocol[d.protocol.slice(0,-1)],d.pathname,b.DecodeQueryString(d.search),parseInt(d.port))},b.DecodeQueryString=function(a){return 0==a.indexOf("?")&&(a=a.substring(1)),b.UrlDecodeString(a)},b.EncodeQueryString=function(a){var c="?"+b.UrlEncodeObject(a);return 1==c.length?"":c},b.UrlEncodeObject=function(a){var b,c="";for(b in a)c+=encodeURIComponent(b)+"="+encodeURIComponent(a[b])+"&";return c.slice(0,-1)},b.UrlDecodeString=function(a){for(var c={},d=b.splitString(a,"&"),e=0;e0&&d.length>c){var e=d.splice(0,c);return e.push(d.join(b)),e}return d},b.prototype.ToString=function(){return a.Http.HttpProtocol[this.protocol]+"://"+this.domain+(this.port==b.DefaultPort(this.protocol)?"":":"+this.port)+this.path+b.EncodeQueryString(this.queryString)},b}();b.HttpUrl=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(a){function b(b,c){a.call(this,b,c,null)}return __extends(b,a),b}(a.BaseException);b.JsonException=c}(a.Json||(a.Json={}));a.Json}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=a.Http.HttpRequest,d=(a.Http.HttpResponseStatus,a.Http.HttpMethod,function(){function b(a){"undefined"==typeof a&&(a="application/json"),this.request=new c,this.jsonType=a}return b.prototype.Get=function(a,b){this.RawRequest(0,a,{},b)},b.prototype.Post=function(a,b,c){this.RawRequest(1,a,b,c)},b.prototype.RawRequest=function(b,c,d,e){var f=this;"undefined"==typeof d&&(d={}),"undefined"==typeof e&&(e=function(){}),this.request.RawRequest(b,c,d,function(b){b.GetContentType()!=f.jsonType&&e(new a.Json.JsonResponse(3));try{e(a.Json.JsonResponse.fromHttpResponse(b))}catch(c){throw new a.Json.JsonException("Json parse exception",-1)}})},b}());b.JsonRequest=d}(a.Json||(a.Json={}));a.Json}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(a){function b(b,c,d,e){a.call(this,b,c,d,e)}return __extends(b,a),b.fromHttpResponse=function(a){return new b(a.GetStatus(),a.GetHeader,a.GetHttpStatus(),window.JSON.parse(a.GetContent()))},b}(a.GenericResponse);b.JsonResponse=c}(a.Json||(a.Json={}));a.Json}(Typertext||(Typertext={})); +var Typertext;!function(a){var b=function(){function a(a,b,c){this.message=a,this.code=b,this.custom=c}return a.prototype.GetCode=function(){return this.code},a.prototype.GetMessage=function(){return this.message},a.prototype.GetCustom=function(){return this.custom},a}();a.BaseException=b}(Typertext||(Typertext={}));var Typertext;!function(){}(Typertext||(Typertext={}));var Typertext;!function(a){var b=function(){function a(a,b,c,d){this.status=a,this.headers=b,this.httpStatus=c,this.content=d}return a.prototype.GetContent=function(){return this.content},a.prototype.GetContentType=function(){return this.GetHeader("Content-Type")},a.prototype.GetHeader=function(a){return this.headers(a)},a.prototype.GetHttpStatus=function(){return this.httpStatus},a.prototype.GetStatus=function(){return this.status},a}();a.GenericResponse=b}(Typertext||(Typertext={}));var __extends=this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);c.prototype=b.prototype,a.prototype=new c},Typertext;!function(a){!function(b){var c=function(a){function b(){a.apply(this,arguments)}return __extends(b,a),b}(a.BaseException);b.HttpException=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(a){!function(a){a[a.GET=0]="GET",a[a.POST=1]="POST"}(a.HttpMethod||(a.HttpMethod={}));a.HttpMethod}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(a){!function(a){a[a.http=0]="http",a[a.https=1]="https"}(a.HttpProtocol||(a.HttpProtocol={}));a.HttpProtocol}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(){function b(){}return b.prototype.Get=function(a,b){this.RawRequest(0,a,{},b)},b.prototype.Post=function(a,b,c){this.RawRequest(1,a,b,c)},b.prototype.RawRequest=function(b,c,d,e){"undefined"==typeof d&&(d={}),"undefined"==typeof e&&(e=function(){});var f=function(){return""},g=new XMLHttpRequest;return g.onreadystatechange=function(){if(4==g.readyState){var b=function(a){return g.getResponseHeader(a)};e(200==g.status?new a.Http.HttpResponse(0,b,g.status,g.responseText):g.status>=400&&g.status<500?new a.Http.HttpResponse(2,b,g.status,g.responseText):g.status>=500&&g.status<600?new a.Http.HttpResponse(1,b,g.status,g.responseText):new a.Http.HttpResponse(4,b,g.status,g.responseText))}},g.ontimeout=function(){e(new a.Http.HttpResponse(5,f,-1,""))},g.open(a.Http.HttpMethod[b],c.ToString(),!0),0==b?void g.send():(g.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void g.send(a.Http.HttpUrl.UrlEncodeObject(d)))},b}();b.HttpRequest=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(a){function b(b,c,d,e){a.call(this,b,c,d,e)}return __extends(b,a),b}(a.GenericResponse);b.HttpResponse=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(a){!function(a){a[a.success=0]="success",a[a.serverError=1]="serverError",a[a.clientError=2]="clientError",a[a.responseError=3]="responseError",a[a.unknownError=4]="unknownError",a[a.timeout=5]="timeout"}(a.HttpResponseStatus||(a.HttpResponseStatus={}));a.HttpResponseStatus}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(){function b(a,c,d,e,f){"undefined"==typeof c&&(c=0),"undefined"==typeof d&&(d="/"),"undefined"==typeof e&&(e={}),"undefined"==typeof f&&(f=0),(1>f||f>65535||isNaN(f))&&(f=b.DefaultPort(c)),0!=d.indexOf("/")&&(d="/"+d),this.domain=a,this.protocol=c,this.path=d,this.queryString=e,this.port=f}return b.DefaultPort=function(a){switch(a){case 0:return 80;case 1:return 443;default:return-1}},b.FromUrl=function(c){var d=document.createElement("a");return d.href=c,new b(d.hostname,a.Http.HttpProtocol[d.protocol.slice(0,-1)],d.pathname,b.DecodeQueryString(d.search),parseInt(d.port))},b.DecodeQueryString=function(a){return 0==a.indexOf("?")&&(a=a.substring(1)),b.UrlDecodeString(a)},b.EncodeQueryString=function(a){var c="?"+b.UrlEncodeObject(a);return 1==c.length?"":c},b.UrlEncodeObject=function(a){var b,c="";for(b in a)c+=encodeURIComponent(b)+"="+encodeURIComponent(a[b])+"&";return c.slice(0,-1)},b.UrlDecodeString=function(a){for(var c={},d=b.splitString(a,"&"),e=0;e0&&d.length>c){var e=d.splice(0,c);return e.push(d.join(b)),e}return d},b.prototype.ToString=function(){return a.Http.HttpProtocol[this.protocol]+"://"+this.domain+(this.port==b.DefaultPort(this.protocol)?"":":"+this.port)+this.path+b.EncodeQueryString(this.queryString)},b}();b.HttpUrl=c}(a.Http||(a.Http={}));a.Http}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=function(a){function b(b,c){a.call(this,b,c,null)}return __extends(b,a),b}(a.BaseException);b.JsonException=c}(a.Json||(a.Json={}));a.Json}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=a.Http.HttpRequest,d=(a.Http.HttpMethod,function(){function b(a){"undefined"==typeof a&&(a="application/json"),this.request=new c,this.jsonType=a}return b.prototype.Get=function(a,b){this.RawRequest(0,a,{},b)},b.prototype.Post=function(a,b,c){this.RawRequest(1,a,b,c)},b.prototype.RawRequest=function(b,c,d,e){var f=this;return"undefined"==typeof d&&(d={}),"function"!=typeof e?void this.request.RawRequest(b,c,d,function(){}):void this.request.RawRequest(b,c,d,function(b){return b.GetContentType()!=f.jsonType?void e(a.Json.JsonResponse.fromInvalidHttpResponse(b)):void e(a.Json.JsonResponse.fromHttpResponse(b))})},b}());b.JsonRequest=d}(a.Json||(a.Json={}));a.Json}(Typertext||(Typertext={}));var Typertext;!function(a){!function(b){var c=(a.Http.HttpResponseStatus,function(a){function b(b,c,d,e,f){a.call(this,b,c,d,e),f=!!f||!1,this.parseSuccess=f}return __extends(b,a),b.fromHttpResponse=function(a){try{return new b(a.GetStatus(),a.GetHeader,a.GetHttpStatus(),window.JSON.parse(a.GetContent()),!0)}catch(c){return new b(a.GetStatus(),a.GetHeader,a.GetHttpStatus(),null)}},b.fromInvalidHttpResponse=function(a){return new b(3,a.GetHeader,a.GetHttpStatus())},b.prototype.GetParseStatus=function(){return this.parseSuccess},b}(a.GenericResponse));b.JsonResponse=c}(a.Json||(a.Json={}));a.Json}(Typertext||(Typertext={})); //# sourceMappingURL=typertext.min.js.map \ No newline at end of file diff --git a/build/typertext.min.js.map b/build/typertext.min.js.map index 2accc57..ed75a55 100644 --- a/build/typertext.min.js.map +++ b/build/typertext.min.js.map @@ -1 +1 @@ -{"version":3,"file":"typertext.min.js","sources":["typertext.js"],"names":["Typertext","BaseException","message","code","custom","this","prototype","GetCode","GetMessage","GetCustom","GenericResponse","status","responseHeaderGetter","httpResponseCode","responseBody","headers","httpStatus","content","GetContent","GetContentType","GetHeader","name","GetHttpStatus","GetStatus","__extends","d","b","__","constructor","p","hasOwnProperty","Http","HttpException","_super","apply","arguments","HttpMethod","HttpProtocol","HttpRequest","Get","request","callback","RawRequest","Post","postData","method","noop","xhr","XMLHttpRequest","onreadystatechange","readyState","getHeader","getResponseHeader","HttpResponse","responseText","ontimeout","open","ToString","send","setRequestHeader","HttpUrl","UrlEncodeObject","call","HttpResponseStatus","domain","protocol","path","queryString","port","isNaN","DefaultPort","indexOf","FromUrl","location","l","document","createElement","href","hostname","slice","pathname","DecodeQueryString","search","parseInt","substring","UrlDecodeString","EncodeQueryString","query","rs","length","data","temp","encodeURIComponent","returnValue","params","splitString","i","param","key","decodeURIComponent","input","separator","limit","chunks","split","ret","splice","push","join","Json","JsonException","JsonRequest","jsonContentType","jsonType","_this","response","JsonResponse","fromHttpResponse","e","httpResponse","window","parse"],"mappings":"AAAA,GAAIA,YACJ,SAAWA,GACP,GAAIC,GAAgB,WAChB,QAASA,GAAcC,EAASC,EAAMC,GAClCC,KAAKH,QAAUA,EACfG,KAAKF,KAAOA,EACZE,KAAKD,OAASA,EAalB,MAXAH,GAAcK,UAAUC,QAAU,WAC9B,MAAOF,MAAKF,MAGhBF,EAAcK,UAAUE,WAAa,WACjC,MAAOH,MAAKH,SAGhBD,EAAcK,UAAUG,UAAY,WAChC,MAAOJ,MAAKD,QAETH,IAEXD,GAAUC,cAAgBA,GAC3BD,YAAcA,cACjB,IAAIA,YACJ,aAEGA,YAAcA,cACjB,IAAIA,YACJ,SAAWA,GACP,GAAIU,GAAkB,WAClB,QAASA,GAAgBC,EAAQC,EAAsBC,EAAkBC,GACrET,KAAKM,OAASA,EACdN,KAAKU,QAAUH,EACfP,KAAKW,WAAaH,EAClBR,KAAKY,QAAUH,EAqBnB,MAnBAJ,GAAgBJ,UAAUY,WAAa,WACnC,MAAOb,MAAKY,SAGhBP,EAAgBJ,UAAUa,eAAiB,WACvC,MAAOd,MAAKe,UAAU,iBAG1BV,EAAgBJ,UAAUc,UAAY,SAAUC,GAC5C,MAAOhB,MAAKU,QAAQM,IAGxBX,EAAgBJ,UAAUgB,cAAgB,WACtC,MAAOjB,MAAKW,YAGhBN,EAAgBJ,UAAUiB,UAAY,WAClC,MAAOlB,MAAKM,QAETD,IAEXV,GAAUU,gBAAkBA,GAC7BV,YAAcA,cACjB,IAAIwB,WAAYnB,KAAKmB,WAAa,SAAUC,EAAGC,GAE3C,QAASC,KAAOtB,KAAKuB,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDF,GAAGrB,UAAYoB,EAAEpB,UACjBmB,EAAEnB,UAAY,GAAIqB,IAElB3B,WACJ,SAAWA,IACP,SAAW+B,GACP,GAAIC,GAAgB,SAAWC,GAE3B,QAASD,KACLC,EAAOC,MAAM7B,KAAM8B,WAEvB,MAJAX,WAAUQ,EAAeC,GAIlBD,GACRhC,EAAUC,cACb8B,GAAKC,cAAgBA,GACtBhC,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW+B,IACP,SAAWK,GACPA,EAAWA,EAAgB,IAAI,GAAK,MACpCA,EAAWA,EAAiB,KAAI,GAAK,QACtCL,EAAKK,aAAeL,EAAKK,eACXL,GAAKK,YACvBpC,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW+B,IACP,SAAWM,GACPA,EAAaA,EAAmB,KAAI,GAAK,OACzCA,EAAaA,EAAoB,MAAI,GAAK,SAC3CN,EAAKM,eAAiBN,EAAKM,iBACXN,GAAKM,cACzBrC,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW+B,GACP,GAAIO,GAAc,WACd,QAASA,MAqDT,MAnDAA,GAAYhC,UAAUiC,IAAM,SAAUC,EAASC,GAC3CpC,KAAKqC,WAAW,EAAaF,KAAaC,IAG9CH,EAAYhC,UAAUqC,KAAO,SAAUH,EAASI,EAAUH,GACtDpC,KAAKqC,WAAW,EAAcF,EAASI,EAAUH,IAGrDH,EAAYhC,UAAUoC,WAAa,SAAUG,EAAQL,EAASI,EAAUH,GAC5C,mBAAbG,KAA4BA,MACf,mBAAbH,KAA4BA,EAAW,aAElD,IAAIK,GAAO,WACP,MAAO,IAGPC,EAAM,GAAIC,eA0Bd,OAxBAD,GAAIE,mBAAqB,WACrB,GAAsB,GAAlBF,EAAIG,WAAiB,CACrB,GAAIC,GAAY,SAAU9B,GACtB,MAAO0B,GAAIK,kBAAkB/B,GAGjC,IAAkB,KAAd0B,EAAIpC,OAED,KAAIoC,GAAIpC,QAAU,KAAOoC,EAAIpC,OAAS,IACnC,GAAIX,GAAU+B,KAAKC,cAAc,8CAA+Ce,EAAIpC,OAAQ,GAAIX,GAAU+B,KAAKsB,aAAa,EAAqBF,EAAWJ,EAAIpC,OAAQoC,EAAIO,eAC3KP,EAAIpC,QAAU,KAAOoC,EAAIpC,OAAS,IACnC,GAAIX,GAAU+B,KAAKC,cAAc,8CAA+Ce,EAAIpC,OAAQ,GAAIX,GAAU+B,KAAKsB,aAAa,EAAqBF,EAAWJ,EAAIpC,OAAQoC,EAAIO,eAE5K,GAAItD,GAAU+B,KAAKC,cAAc,gCAAiC,GAAI,GAAIhC,GAAU+B,KAAKsB,aAAa,EAAsBF,EAAWJ,EAAIpC,OAAQoC,EAAIO,cAN7Jb,GAAS,GAAIzC,GAAU+B,KAAKsB,aAAa,EAAiBF,EAAWJ,EAAIpC,OAAQoC,EAAIO,iBAWjGP,EAAIQ,UAAY,WACZ,KAAM,IAAIvD,GAAU+B,KAAKC,cAAc,qDAAsD,GAAI,GAAIhC,GAAU+B,KAAKsB,aAAa,EAAiBP,EAAM,GAAI,MAGhKC,EAAIS,KAAKxD,EAAU+B,KAAKK,WAAWS,GAASL,EAAQiB,YAAY,GAElD,GAAVZ,MACAE,GAAIW,QAIRX,EAAIY,iBAAiB,eAAgB,yCAErCZ,GAAIW,KAAK1D,EAAU+B,KAAK6B,QAAQC,gBAAgBjB,MAE7CN,IAEXP,GAAKO,YAAcA,GACpBtC,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW+B,GACP,GAAIsB,GAAe,SAAWpB,GAE1B,QAASoB,GAAa1C,EAAQC,EAAsBC,EAAkBC,GAClEmB,EAAO6B,KAAKzD,KAAMM,EAAQC,EAAsBC,EAAkBC,GAEtE,MAJAU,WAAU6B,EAAcpB,GAIjBoB,GACRrD,EAAUU,gBACbqB,GAAKsB,aAAeA,GACrBrD,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW+B,IACP,SAAWgC,GACPA,EAAmBA,EAA4B,QAAI,GAAK,UACxDA,EAAmBA,EAAgC,YAAI,GAAK,cAC5DA,EAAmBA,EAAgC,YAAI,GAAK,cAC5DA,EAAmBA,EAAkC,cAAI,GAAK,gBAC9DA,EAAmBA,EAAiC,aAAI,GAAK,eAC7DA,EAAmBA,EAA4B,QAAI,GAAK,WACzDhC,EAAKgC,qBAAuBhC,EAAKgC,uBACXhC,GAAKgC,oBAC/B/D,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW+B,GACP,GAAI6B,GAAU,WACV,QAASA,GAAQI,EAAQC,EAAUC,EAAMC,EAAaC,GAC1B,mBAAbH,KAA4BA,EAAW,GAC9B,mBAATC,KAAwBA,EAAO,KACf,mBAAhBC,KAA+BA,MACtB,mBAATC,KAAwBA,EAAO,IAC/B,EAAPA,GAAYA,EAAO,OAASC,MAAMD,MAClCA,EAAOR,EAAQU,YAAYL,IAGN,GAArBC,EAAKK,QAAQ,OACbL,EAAO,IAAMA,GAGjB7D,KAAK2D,OAASA,EACd3D,KAAK4D,SAAWA,EAChB5D,KAAK6D,KAAOA,EACZ7D,KAAK8D,YAAcA,EACnB9D,KAAK+D,KAAOA,EA8EhB,MA5EAR,GAAQU,YAAc,SAAUL,GAC5B,OAAQA,GACJ,IAAK,GACD,MAAO,GACX,KAAK,GACD,MAAO,IACX,SACI,MAAO,KAInBL,EAAQY,QAAU,SAAUC,GACxB,GAAIC,GAAIC,SAASC,cAAc,IAE/B,OADAF,GAAEG,KAAOJ,EACF,GAAIb,GAAQc,EAAEI,SAAU9E,EAAU+B,KAAKM,aAAaqC,EAAET,SAASc,MAAM,EAAG,KAAML,EAAEM,SAAUpB,EAAQqB,kBAAkBP,EAAEQ,QAASC,SAAST,EAAEN,QAGrJR,EAAQqB,kBAAoB,SAAUd,GAKlC,MAJgC,IAA5BA,EAAYI,QAAQ,OACpBJ,EAAcA,EAAYiB,UAAU,IAGjCxB,EAAQyB,gBAAgBlB,IAGnCP,EAAQ0B,kBAAoB,SAAUC,GAClC,GAAIC,GAAK,IAAM5B,EAAQC,gBAAgB0B,EACvC,OAAsB,IAAbC,EAAGC,OAAe,GAAKD,GAGpC5B,EAAQC,gBAAkB,SAAU6B,GAChC,GACIC,GADAH,EAAK,EAGT,KAAKG,IAAQD,GACTF,GAAMI,mBAAmBD,GAAQ,IAAMC,mBAAmBF,EAAKC,IAAS,GAG5E,OAAOH,GAAGT,MAAM,EAAG,KAGvBnB,EAAQyB,gBAAkB,SAAUlB,GAEhC,IAAK,GADD0B,MAAkBC,EAASlC,EAAQmC,YAAY5B,EAAa,KACvD6B,EAAI,EAAGA,EAAIF,EAAOL,OAAQO,IAC/B,GAAiB,IAAbF,EAAOE,GAAX,CAIA,GAAIC,GAAQrC,EAAQmC,YAAYD,EAAOE,GAAI,IAAK,GAC5CE,EAAMC,mBAAmBF,EAAM,GAMnCJ,GAAYK,GALQ,GAAhBD,EAAMR,OAKSU,mBAAmBF,EAAM,IAJrB,GAO3B,MAAOJ,IAGXjC,EAAQmC,YAAc,SAAUK,EAAOC,EAAWC,GACzB,mBAAVA,KAAyBA,EAAQ,IAC5CA,GACA,IAAIC,GAASH,EAAMI,MAAMH,EACzB,IAAIC,EAAQ,GAAKC,EAAOd,OAASa,EAAO,CACpC,GAAIG,GAAMF,EAAOG,OAAO,EAAGJ,EAE3B,OADAG,GAAIE,KAAKJ,EAAOK,KAAKP,IACdI,EAEX,MAAOF,IAGX3C,EAAQtD,UAAUmD,SAAW,WACzB,MAAOzD,GAAU+B,KAAKM,aAAahC,KAAK4D,UAAY,MAAQ5D,KAAK2D,QAAW3D,KAAK+D,MAAQR,EAAQU,YAAYjE,KAAK4D,UAAa,GAAK,IAAM5D,KAAK+D,MAAQ/D,KAAK6D,KAAON,EAAQ0B,kBAAkBjF,KAAK8D,cAE/LP,IAEX7B,GAAK6B,QAAUA,GAChB5D,EAAU+B,OAAS/B,EAAU+B,SACrB/B,GAAU+B,MACtB/B,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW6G,GACP,GAAIC,GAAgB,SAAW7E,GAE3B,QAAS6E,GAAc5G,EAASC,GAC5B8B,EAAO6B,KAAKzD,KAAMH,EAASC,EAAM,MAErC,MAJAqB,WAAUsF,EAAe7E,GAIlB6E,GACR9G,EAAUC,cACb4G,GAAKC,cAAgBA,GACtB9G,EAAU6G,OAAS7G,EAAU6G,SACrB7G,GAAU6G,MACtB7G,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW6G,GACP,GAAIvE,GAActC,EAAU+B,KAAKO,YAM7ByE,GAJqB/G,EAAU+B,KAAKgC,mBAEvB/D,EAAU+B,KAAKK,WAEd,WACd,QAAS2E,GAAYC,GACc,mBAApBA,KAAmCA,EAAkB,oBAChE3G,KAAKmC,QAAU,GAAIF,GACnBjC,KAAK4G,SAAWD,EA2BpB,MAzBAD,GAAYzG,UAAUiC,IAAM,SAAUC,EAASC,GAC3CpC,KAAKqC,WAAW,EAAaF,KAAaC,IAG9CsE,EAAYzG,UAAUqC,KAAO,SAAUH,EAASI,EAAUH,GACtDpC,KAAKqC,WAAW,EAAcF,EAASI,EAAUH,IAGrDsE,EAAYzG,UAAUoC,WAAa,SAAUG,EAAQL,EAASI,EAAUH,GACpE,GAAIyE,GAAQ7G,IACY,oBAAbuC,KAA4BA,MACf,mBAAbH,KAA4BA,EAAW,cAElDpC,KAAKmC,QAAQE,WAAWG,EAAQL,EAASI,EAAU,SAAUuE,GACrDA,EAAShG,kBAAoB+F,EAAMD,UACnCxE,EAAS,GAAIzC,GAAU6G,KAAKO,aAAa,GAG7C,KACI3E,EAASzC,EAAU6G,KAAKO,aAAaC,iBAAiBF,IACxD,MAAOG,GACL,KAAM,IAAItH,GAAU6G,KAAKC,cAAc,uBAAwB,QAIpEC,KAEXF,GAAKE,YAAcA,GACpB/G,EAAU6G,OAAS7G,EAAU6G,SACrB7G,GAAU6G,MACtB7G,YAAcA,cACjB,IAAIA,YACJ,SAAWA,IACP,SAAW6G,GACP,GAAIO,GAAe,SAAWnF,GAE1B,QAASmF,GAAazG,EAAQC,EAAsBC,EAAkBC,GAClEmB,EAAO6B,KAAKzD,KAAMM,EAAQC,EAAsBC,EAAkBC,GAKtE,MAPAU,WAAU4F,EAAcnF,GAIxBmF,EAAaC,iBAAmB,SAAUE,GACtC,MAAO,IAAIH,GAAaG,EAAahG,YAAagG,EAAanG,UAAWmG,EAAajG,gBAAiBkG,OAAa,KAAEC,MAAMF,EAAarG,gBAEvIkG,GACRpH,EAAUU,gBACbmG,GAAKO,aAAeA,GACrBpH,EAAU6G,OAAS7G,EAAU6G,SACrB7G,GAAU6G,MACtB7G,YAAcA","sourcesContent":["var Typertext;\n(function (Typertext) {\n var BaseException = (function () {\n function BaseException(message, code, custom) {\n this.message = message;\n this.code = code;\n this.custom = custom;\n }\n BaseException.prototype.GetCode = function () {\n return this.code;\n };\n\n BaseException.prototype.GetMessage = function () {\n return this.message;\n };\n\n BaseException.prototype.GetCustom = function () {\n return this.custom;\n };\n return BaseException;\n })();\n Typertext.BaseException = BaseException;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n \n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n var GenericResponse = (function () {\n function GenericResponse(status, responseHeaderGetter, httpResponseCode, responseBody) {\n this.status = status;\n this.headers = responseHeaderGetter;\n this.httpStatus = httpResponseCode;\n this.content = responseBody;\n }\n GenericResponse.prototype.GetContent = function () {\n return this.content;\n };\n\n GenericResponse.prototype.GetContentType = function () {\n return this.GetHeader(\"Content-Type\");\n };\n\n GenericResponse.prototype.GetHeader = function (name) {\n return this.headers(name);\n };\n\n GenericResponse.prototype.GetHttpStatus = function () {\n return this.httpStatus;\n };\n\n GenericResponse.prototype.GetStatus = function () {\n return this.status;\n };\n return GenericResponse;\n })();\n Typertext.GenericResponse = GenericResponse;\n})(Typertext || (Typertext = {}));\nvar __extends = this.__extends || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n __.prototype = b.prototype;\n d.prototype = new __();\n};\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpException = (function (_super) {\n __extends(HttpException, _super);\n function HttpException() {\n _super.apply(this, arguments);\n }\n return HttpException;\n })(Typertext.BaseException);\n Http.HttpException = HttpException;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n (function (HttpMethod) {\n HttpMethod[HttpMethod[\"GET\"] = 0] = \"GET\";\n HttpMethod[HttpMethod[\"POST\"] = 1] = \"POST\";\n })(Http.HttpMethod || (Http.HttpMethod = {}));\n var HttpMethod = Http.HttpMethod;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n (function (HttpProtocol) {\n HttpProtocol[HttpProtocol[\"http\"] = 0] = \"http\";\n HttpProtocol[HttpProtocol[\"https\"] = 1] = \"https\";\n })(Http.HttpProtocol || (Http.HttpProtocol = {}));\n var HttpProtocol = Http.HttpProtocol;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpRequest = (function () {\n function HttpRequest() {\n }\n HttpRequest.prototype.Get = function (request, callback) {\n this.RawRequest(0 /* GET */, request, {}, callback);\n };\n\n HttpRequest.prototype.Post = function (request, postData, callback) {\n this.RawRequest(1 /* POST */, request, postData, callback);\n };\n\n HttpRequest.prototype.RawRequest = function (method, request, postData, callback) {\n if (typeof postData === \"undefined\") { postData = {}; }\n if (typeof callback === \"undefined\") { callback = function (c) {\n }; }\n var noop = function (i) {\n return \"\";\n };\n\n var xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n var getHeader = function (name) {\n return xhr.getResponseHeader(name);\n };\n\n if (xhr.status == 200) {\n callback(new Typertext.Http.HttpResponse(0 /* success */, getHeader, xhr.status, xhr.responseText));\n } else if (xhr.status >= 400 && xhr.status < 500) {\n throw new Typertext.Http.HttpException(\"The server returned an error response state\", xhr.status, new Typertext.Http.HttpResponse(2 /* clientError */, getHeader, xhr.status, xhr.responseText));\n } else if (xhr.status >= 500 && xhr.status < 600) {\n throw new Typertext.Http.HttpException(\"The server returned an error response state\", xhr.status, new Typertext.Http.HttpResponse(1 /* serverError */, getHeader, xhr.status, xhr.responseText));\n } else {\n throw new Typertext.Http.HttpException(\"An unknown error has occurred\", -2, new Typertext.Http.HttpResponse(4 /* unknownError */, getHeader, xhr.status, xhr.responseText));\n }\n }\n };\n\n xhr.ontimeout = function () {\n throw new Typertext.Http.HttpException(\"The server took too long to respond to our request\", -1, new Typertext.Http.HttpResponse(5 /* timeout */, noop, -1, \"\"));\n };\n\n xhr.open(Typertext.Http.HttpMethod[method], request.ToString(), true);\n\n if (method == 0 /* GET */) {\n xhr.send();\n return;\n }\n\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\n xhr.send(Typertext.Http.HttpUrl.UrlEncodeObject(postData));\n };\n return HttpRequest;\n })();\n Http.HttpRequest = HttpRequest;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpResponse = (function (_super) {\n __extends(HttpResponse, _super);\n function HttpResponse(status, responseHeaderGetter, httpResponseCode, responseBody) {\n _super.call(this, status, responseHeaderGetter, httpResponseCode, responseBody);\n }\n return HttpResponse;\n })(Typertext.GenericResponse);\n Http.HttpResponse = HttpResponse;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n (function (HttpResponseStatus) {\n HttpResponseStatus[HttpResponseStatus[\"success\"] = 0] = \"success\";\n HttpResponseStatus[HttpResponseStatus[\"serverError\"] = 1] = \"serverError\";\n HttpResponseStatus[HttpResponseStatus[\"clientError\"] = 2] = \"clientError\";\n HttpResponseStatus[HttpResponseStatus[\"responseError\"] = 3] = \"responseError\";\n HttpResponseStatus[HttpResponseStatus[\"unknownError\"] = 4] = \"unknownError\";\n HttpResponseStatus[HttpResponseStatus[\"timeout\"] = 5] = \"timeout\";\n })(Http.HttpResponseStatus || (Http.HttpResponseStatus = {}));\n var HttpResponseStatus = Http.HttpResponseStatus;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpUrl = (function () {\n function HttpUrl(domain, protocol, path, queryString, port) {\n if (typeof protocol === \"undefined\") { protocol = 0 /* http */; }\n if (typeof path === \"undefined\") { path = \"/\"; }\n if (typeof queryString === \"undefined\") { queryString = {}; }\n if (typeof port === \"undefined\") { port = 0; }\n if (port < 1 || port > 65535 || isNaN(port)) {\n port = HttpUrl.DefaultPort(protocol);\n }\n\n if (path.indexOf(\"/\") != 0) {\n path = \"/\" + path;\n }\n\n this.domain = domain;\n this.protocol = protocol;\n this.path = path;\n this.queryString = queryString;\n this.port = port;\n }\n HttpUrl.DefaultPort = function (protocol) {\n switch (protocol) {\n case 0 /* http */:\n return 80;\n case 1 /* https */:\n return 443;\n default:\n return -1;\n }\n };\n\n HttpUrl.FromUrl = function (location) {\n var l = document.createElement(\"a\");\n l.href = location;\n return new HttpUrl(l.hostname, Typertext.Http.HttpProtocol[l.protocol.slice(0, -1)], l.pathname, HttpUrl.DecodeQueryString(l.search), parseInt(l.port));\n };\n\n HttpUrl.DecodeQueryString = function (queryString) {\n if (queryString.indexOf(\"?\") == 0) {\n queryString = queryString.substring(1);\n }\n\n return HttpUrl.UrlDecodeString(queryString);\n };\n\n HttpUrl.EncodeQueryString = function (query) {\n var rs = \"?\" + HttpUrl.UrlEncodeObject(query);\n return ((rs.length == 1) ? \"\" : rs);\n };\n\n HttpUrl.UrlEncodeObject = function (data) {\n var rs = \"\";\n var temp;\n\n for (temp in data) {\n rs += encodeURIComponent(temp) + \"=\" + encodeURIComponent(data[temp]) + \"&\";\n }\n\n return rs.slice(0, -1);\n };\n\n HttpUrl.UrlDecodeString = function (queryString) {\n var returnValue = {}, params = HttpUrl.splitString(queryString, \"&\");\n for (var i = 0; i < params.length; i++) {\n if (params[i] == \"\") {\n continue;\n }\n\n var param = HttpUrl.splitString(params[i], \"=\", 2);\n var key = decodeURIComponent(param[0]);\n if (param.length == 1) {\n returnValue[key] = \"\";\n continue;\n }\n\n returnValue[key] = decodeURIComponent(param[1]);\n }\n\n return returnValue;\n };\n\n HttpUrl.splitString = function (input, separator, limit) {\n if (typeof limit === \"undefined\") { limit = -1; }\n limit++;\n var chunks = input.split(separator);\n if (limit > 0 && chunks.length > limit) {\n var ret = chunks.splice(0, limit);\n ret.push(chunks.join(separator));\n return ret;\n }\n return chunks;\n };\n\n HttpUrl.prototype.ToString = function () {\n return Typertext.Http.HttpProtocol[this.protocol] + \"://\" + this.domain + ((this.port == HttpUrl.DefaultPort(this.protocol)) ? \"\" : \":\" + this.port) + this.path + HttpUrl.EncodeQueryString(this.queryString);\n };\n return HttpUrl;\n })();\n Http.HttpUrl = HttpUrl;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Json) {\n var JsonException = (function (_super) {\n __extends(JsonException, _super);\n function JsonException(message, code) {\n _super.call(this, message, code, null);\n }\n return JsonException;\n })(Typertext.BaseException);\n Json.JsonException = JsonException;\n })(Typertext.Json || (Typertext.Json = {}));\n var Json = Typertext.Json;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Json) {\n var HttpRequest = Typertext.Http.HttpRequest;\n\n var HttpResponseStatus = Typertext.Http.HttpResponseStatus;\n\n var HttpMethod = Typertext.Http.HttpMethod;\n\n var JsonRequest = (function () {\n function JsonRequest(jsonContentType) {\n if (typeof jsonContentType === \"undefined\") { jsonContentType = \"application/json\"; }\n this.request = new HttpRequest();\n this.jsonType = jsonContentType;\n }\n JsonRequest.prototype.Get = function (request, callback) {\n this.RawRequest(0 /* GET */, request, {}, callback);\n };\n\n JsonRequest.prototype.Post = function (request, postData, callback) {\n this.RawRequest(1 /* POST */, request, postData, callback);\n };\n\n JsonRequest.prototype.RawRequest = function (method, request, postData, callback) {\n var _this = this;\n if (typeof postData === \"undefined\") { postData = {}; }\n if (typeof callback === \"undefined\") { callback = function (c) {\n }; }\n this.request.RawRequest(method, request, postData, function (response) {\n if (response.GetContentType() != _this.jsonType) {\n callback(new Typertext.Json.JsonResponse(3 /* responseError */));\n }\n\n try {\n callback(Typertext.Json.JsonResponse.fromHttpResponse(response));\n } catch (e) {\n throw new Typertext.Json.JsonException(\"Json parse exception\", -1);\n }\n });\n };\n return JsonRequest;\n })();\n Json.JsonRequest = JsonRequest;\n })(Typertext.Json || (Typertext.Json = {}));\n var Json = Typertext.Json;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Json) {\n var JsonResponse = (function (_super) {\n __extends(JsonResponse, _super);\n function JsonResponse(status, responseHeaderGetter, httpResponseCode, responseBody) {\n _super.call(this, status, responseHeaderGetter, httpResponseCode, responseBody);\n }\n JsonResponse.fromHttpResponse = function (httpResponse) {\n return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), window[\"JSON\"].parse(httpResponse.GetContent()));\n };\n return JsonResponse;\n })(Typertext.GenericResponse);\n Json.JsonResponse = JsonResponse;\n })(Typertext.Json || (Typertext.Json = {}));\n var Json = Typertext.Json;\n})(Typertext || (Typertext = {}));\n//# sourceMappingURL=typertext.js.map\n"]} \ No newline at end of file +{"version":3,"file":"typertext.min.js","sources":["typertext.js"],"names":["Typertext","BaseException","message","code","custom","this","prototype","GetCode","GetMessage","GetCustom","GenericResponse","status","responseHeaderGetter","httpResponseCode","responseBody","headers","httpStatus","content","GetContent","GetContentType","GetHeader","name","GetHttpStatus","GetStatus","__extends","d","b","__","constructor","p","hasOwnProperty","Http","HttpException","_super","apply","arguments","HttpMethod","HttpProtocol","HttpRequest","Get","request","callback","RawRequest","Post","postData","method","noop","xhr","XMLHttpRequest","onreadystatechange","readyState","getHeader","getResponseHeader","HttpResponse","responseText","ontimeout","open","ToString","send","setRequestHeader","HttpUrl","UrlEncodeObject","call","HttpResponseStatus","domain","protocol","path","queryString","port","isNaN","DefaultPort","indexOf","FromUrl","location","l","document","createElement","href","hostname","slice","pathname","DecodeQueryString","search","parseInt","substring","UrlDecodeString","EncodeQueryString","query","rs","length","data","temp","encodeURIComponent","returnValue","params","splitString","i","param","key","decodeURIComponent","input","separator","limit","chunks","split","ret","splice","push","join","Json","JsonException","JsonRequest","jsonContentType","jsonType","_this","response","JsonResponse","fromInvalidHttpResponse","fromHttpResponse","parseSuccess","httpResponse","window","parse","e","GetParseStatus"],"mappings":"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","sourcesContent":["var Typertext;\n(function (Typertext) {\n var BaseException = (function () {\n function BaseException(message, code, custom) {\n this.message = message;\n this.code = code;\n this.custom = custom;\n }\n BaseException.prototype.GetCode = function () {\n return this.code;\n };\n\n BaseException.prototype.GetMessage = function () {\n return this.message;\n };\n\n BaseException.prototype.GetCustom = function () {\n return this.custom;\n };\n return BaseException;\n })();\n Typertext.BaseException = BaseException;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n \n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n var GenericResponse = (function () {\n function GenericResponse(status, responseHeaderGetter, httpResponseCode, responseBody) {\n this.status = status;\n this.headers = responseHeaderGetter;\n this.httpStatus = httpResponseCode;\n this.content = responseBody;\n }\n GenericResponse.prototype.GetContent = function () {\n return this.content;\n };\n\n GenericResponse.prototype.GetContentType = function () {\n return this.GetHeader(\"Content-Type\");\n };\n\n GenericResponse.prototype.GetHeader = function (name) {\n return this.headers(name);\n };\n\n GenericResponse.prototype.GetHttpStatus = function () {\n return this.httpStatus;\n };\n\n GenericResponse.prototype.GetStatus = function () {\n return this.status;\n };\n return GenericResponse;\n })();\n Typertext.GenericResponse = GenericResponse;\n})(Typertext || (Typertext = {}));\nvar __extends = this.__extends || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n __.prototype = b.prototype;\n d.prototype = new __();\n};\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpException = (function (_super) {\n __extends(HttpException, _super);\n function HttpException() {\n _super.apply(this, arguments);\n }\n return HttpException;\n })(Typertext.BaseException);\n Http.HttpException = HttpException;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n (function (HttpMethod) {\n HttpMethod[HttpMethod[\"GET\"] = 0] = \"GET\";\n HttpMethod[HttpMethod[\"POST\"] = 1] = \"POST\";\n })(Http.HttpMethod || (Http.HttpMethod = {}));\n var HttpMethod = Http.HttpMethod;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n (function (HttpProtocol) {\n HttpProtocol[HttpProtocol[\"http\"] = 0] = \"http\";\n HttpProtocol[HttpProtocol[\"https\"] = 1] = \"https\";\n })(Http.HttpProtocol || (Http.HttpProtocol = {}));\n var HttpProtocol = Http.HttpProtocol;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpRequest = (function () {\n function HttpRequest() {\n }\n HttpRequest.prototype.Get = function (request, callback) {\n this.RawRequest(0 /* GET */, request, {}, callback);\n };\n\n HttpRequest.prototype.Post = function (request, postData, callback) {\n this.RawRequest(1 /* POST */, request, postData, callback);\n };\n\n HttpRequest.prototype.RawRequest = function (method, request, postData, callback) {\n if (typeof postData === \"undefined\") { postData = {}; }\n if (typeof callback === \"undefined\") { callback = function (c) {\n }; }\n var noop = function (i) {\n return \"\";\n };\n\n var xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n var getHeader = function (name) {\n return xhr.getResponseHeader(name);\n };\n\n if (xhr.status == 200) {\n callback(new Typertext.Http.HttpResponse(0 /* success */, getHeader, xhr.status, xhr.responseText));\n } else if (xhr.status >= 400 && xhr.status < 500) {\n callback(new Typertext.Http.HttpResponse(2 /* clientError */, getHeader, xhr.status, xhr.responseText));\n } else if (xhr.status >= 500 && xhr.status < 600) {\n callback(new Typertext.Http.HttpResponse(1 /* serverError */, getHeader, xhr.status, xhr.responseText));\n } else {\n callback(new Typertext.Http.HttpResponse(4 /* unknownError */, getHeader, xhr.status, xhr.responseText));\n }\n }\n };\n\n xhr.ontimeout = function () {\n callback(new Typertext.Http.HttpResponse(5 /* timeout */, noop, -1, \"\"));\n };\n\n xhr.open(Typertext.Http.HttpMethod[method], request.ToString(), true);\n\n if (method == 0 /* GET */) {\n xhr.send();\n return;\n }\n\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\n xhr.send(Typertext.Http.HttpUrl.UrlEncodeObject(postData));\n };\n return HttpRequest;\n })();\n Http.HttpRequest = HttpRequest;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpResponse = (function (_super) {\n __extends(HttpResponse, _super);\n function HttpResponse(status, responseHeaderGetter, httpResponseCode, responseBody) {\n _super.call(this, status, responseHeaderGetter, httpResponseCode, responseBody);\n }\n return HttpResponse;\n })(Typertext.GenericResponse);\n Http.HttpResponse = HttpResponse;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n (function (HttpResponseStatus) {\n HttpResponseStatus[HttpResponseStatus[\"success\"] = 0] = \"success\";\n HttpResponseStatus[HttpResponseStatus[\"serverError\"] = 1] = \"serverError\";\n HttpResponseStatus[HttpResponseStatus[\"clientError\"] = 2] = \"clientError\";\n HttpResponseStatus[HttpResponseStatus[\"responseError\"] = 3] = \"responseError\";\n HttpResponseStatus[HttpResponseStatus[\"unknownError\"] = 4] = \"unknownError\";\n HttpResponseStatus[HttpResponseStatus[\"timeout\"] = 5] = \"timeout\";\n })(Http.HttpResponseStatus || (Http.HttpResponseStatus = {}));\n var HttpResponseStatus = Http.HttpResponseStatus;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Http) {\n var HttpUrl = (function () {\n function HttpUrl(domain, protocol, path, queryString, port) {\n if (typeof protocol === \"undefined\") { protocol = 0 /* http */; }\n if (typeof path === \"undefined\") { path = \"/\"; }\n if (typeof queryString === \"undefined\") { queryString = {}; }\n if (typeof port === \"undefined\") { port = 0; }\n if (port < 1 || port > 65535 || isNaN(port)) {\n port = HttpUrl.DefaultPort(protocol);\n }\n\n if (path.indexOf(\"/\") != 0) {\n path = \"/\" + path;\n }\n\n this.domain = domain;\n this.protocol = protocol;\n this.path = path;\n this.queryString = queryString;\n this.port = port;\n }\n HttpUrl.DefaultPort = function (protocol) {\n switch (protocol) {\n case 0 /* http */:\n return 80;\n case 1 /* https */:\n return 443;\n default:\n return -1;\n }\n };\n\n HttpUrl.FromUrl = function (location) {\n var l = document.createElement(\"a\");\n l.href = location;\n return new HttpUrl(l.hostname, Typertext.Http.HttpProtocol[l.protocol.slice(0, -1)], l.pathname, HttpUrl.DecodeQueryString(l.search), parseInt(l.port));\n };\n\n HttpUrl.DecodeQueryString = function (queryString) {\n if (queryString.indexOf(\"?\") == 0) {\n queryString = queryString.substring(1);\n }\n\n return HttpUrl.UrlDecodeString(queryString);\n };\n\n HttpUrl.EncodeQueryString = function (query) {\n var rs = \"?\" + HttpUrl.UrlEncodeObject(query);\n return ((rs.length == 1) ? \"\" : rs);\n };\n\n HttpUrl.UrlEncodeObject = function (data) {\n var rs = \"\";\n var temp;\n\n for (temp in data) {\n rs += encodeURIComponent(temp) + \"=\" + encodeURIComponent(data[temp]) + \"&\";\n }\n\n return rs.slice(0, -1);\n };\n\n HttpUrl.UrlDecodeString = function (queryString) {\n var returnValue = {}, params = HttpUrl.splitString(queryString, \"&\");\n for (var i = 0; i < params.length; i++) {\n if (params[i] == \"\") {\n continue;\n }\n\n var param = HttpUrl.splitString(params[i], \"=\", 2);\n var key = decodeURIComponent(param[0]);\n if (param.length == 1) {\n returnValue[key] = \"\";\n continue;\n }\n\n returnValue[key] = decodeURIComponent(param[1]);\n }\n\n return returnValue;\n };\n\n HttpUrl.splitString = function (input, separator, limit) {\n if (typeof limit === \"undefined\") { limit = -1; }\n limit++;\n var chunks = input.split(separator);\n if (limit > 0 && chunks.length > limit) {\n var ret = chunks.splice(0, limit);\n ret.push(chunks.join(separator));\n return ret;\n }\n return chunks;\n };\n\n HttpUrl.prototype.ToString = function () {\n return Typertext.Http.HttpProtocol[this.protocol] + \"://\" + this.domain + ((this.port == HttpUrl.DefaultPort(this.protocol)) ? \"\" : \":\" + this.port) + this.path + HttpUrl.EncodeQueryString(this.queryString);\n };\n return HttpUrl;\n })();\n Http.HttpUrl = HttpUrl;\n })(Typertext.Http || (Typertext.Http = {}));\n var Http = Typertext.Http;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Json) {\n var JsonException = (function (_super) {\n __extends(JsonException, _super);\n function JsonException(message, code) {\n _super.call(this, message, code, null);\n }\n return JsonException;\n })(Typertext.BaseException);\n Json.JsonException = JsonException;\n })(Typertext.Json || (Typertext.Json = {}));\n var Json = Typertext.Json;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Json) {\n var HttpRequest = Typertext.Http.HttpRequest;\n\n var HttpMethod = Typertext.Http.HttpMethod;\n\n var JsonRequest = (function () {\n function JsonRequest(jsonContentType) {\n if (typeof jsonContentType === \"undefined\") { jsonContentType = \"application/json\"; }\n this.request = new HttpRequest();\n this.jsonType = jsonContentType;\n }\n JsonRequest.prototype.Get = function (request, callback) {\n this.RawRequest(0 /* GET */, request, {}, callback);\n };\n\n JsonRequest.prototype.Post = function (request, postData, callback) {\n this.RawRequest(1 /* POST */, request, postData, callback);\n };\n\n JsonRequest.prototype.RawRequest = function (method, request, postData, callback) {\n var _this = this;\n if (typeof postData === \"undefined\") { postData = {}; }\n if (typeof callback != \"function\") {\n this.request.RawRequest(method, request, postData, function () {\n });\n return;\n }\n\n this.request.RawRequest(method, request, postData, function (response) {\n if (response.GetContentType() != _this.jsonType) {\n callback(Typertext.Json.JsonResponse.fromInvalidHttpResponse(response));\n return;\n }\n\n callback(Typertext.Json.JsonResponse.fromHttpResponse(response));\n });\n };\n return JsonRequest;\n })();\n Json.JsonRequest = JsonRequest;\n })(Typertext.Json || (Typertext.Json = {}));\n var Json = Typertext.Json;\n})(Typertext || (Typertext = {}));\nvar Typertext;\n(function (Typertext) {\n (function (Json) {\n var HttpResponseStatus = Typertext.Http.HttpResponseStatus;\n\n var JsonResponse = (function (_super) {\n __extends(JsonResponse, _super);\n function JsonResponse(status, responseHeaderGetter, httpResponseCode, responseBody, parseSuccess) {\n _super.call(this, status, responseHeaderGetter, httpResponseCode, responseBody);\n parseSuccess = !!parseSuccess || false;\n this.parseSuccess = parseSuccess;\n }\n JsonResponse.fromHttpResponse = function (httpResponse) {\n try {\n return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), window[\"JSON\"].parse(httpResponse.GetContent()), true);\n } catch (e) {\n return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), null);\n }\n };\n\n JsonResponse.fromInvalidHttpResponse = function (httpResponse) {\n return new JsonResponse(3 /* responseError */, httpResponse.GetHeader, httpResponse.GetHttpStatus());\n };\n\n JsonResponse.prototype.GetParseStatus = function () {\n return this.parseSuccess;\n };\n return JsonResponse;\n })(Typertext.GenericResponse);\n Json.JsonResponse = JsonResponse;\n })(Typertext.Json || (Typertext.Json = {}));\n var Json = Typertext.Json;\n})(Typertext || (Typertext = {}));\n//# sourceMappingURL=typertext.js.map\n"]} \ No newline at end of file diff --git a/lib/Typertext/Http/HttpRequest.ts b/lib/Typertext/Http/HttpRequest.ts index 345bb28..cdc5f6f 100644 --- a/lib/Typertext/Http/HttpRequest.ts +++ b/lib/Typertext/Http/HttpRequest.ts @@ -74,13 +74,13 @@ module Typertext.Http { callback(new HttpResponse(HttpResponseStatus.success, getHeader, xhr.status, xhr.responseText)); } else if (xhr.status >= 400 && xhr.status < 500) { //Or fail miserably - throw new HttpException("The server returned an error response state", xhr.status, new HttpResponse(HttpResponseStatus.clientError, getHeader, xhr.status, xhr.responseText)); + callback(new HttpResponse(HttpResponseStatus.clientError, getHeader, xhr.status, xhr.responseText)); } else if (xhr.status >= 500 && xhr.status < 600) { //Again - throw new HttpException("The server returned an error response state", xhr.status, new HttpResponse(HttpResponseStatus.serverError, getHeader, xhr.status, xhr.responseText)); + callback(new HttpResponse(HttpResponseStatus.serverError, getHeader, xhr.status, xhr.responseText)); } else { //And again - throw new HttpException("An unknown error has occurred", -2, new HttpResponse(HttpResponseStatus.unknownError, getHeader, xhr.status, xhr.responseText)); + callback(new HttpResponse(HttpResponseStatus.unknownError, getHeader, xhr.status, xhr.responseText)); } } }; @@ -88,7 +88,7 @@ module Typertext.Http { //Or if it times out xhr.ontimeout = () => { //And make a big deal of the failing - throw new HttpException("The server took too long to respond to our request", -1, new HttpResponse(HttpResponseStatus.timeout, noop, -1, "")); + callback(new HttpResponse(HttpResponseStatus.timeout, noop, -1, "")); }; //Now connect diff --git a/lib/Typertext/Json/JsonRequest.ts b/lib/Typertext/Json/JsonRequest.ts index 226abf7..4e20f73 100644 --- a/lib/Typertext/Json/JsonRequest.ts +++ b/lib/Typertext/Json/JsonRequest.ts @@ -27,8 +27,9 @@ module Typertext.Json { * * @author Kegan Myers * @version 0.3.0 + * @constructor */ - constructor(jsonContentType:string = "application/json") { + constructor(jsonContentType:string = "application/json") { this.request = new HttpRequest(); this.jsonType = jsonContentType; } @@ -62,19 +63,25 @@ module Typertext.Json { * @param {HttpPostData} postData * @param {JsonResponseHandler} callback */ - public RawRequest(method:HttpMethod, request:HttpUrl, postData:Typertext.Http.HttpPostData = {}, callback:JsonResponseHandler = (c)=> { - }) { + public RawRequest(method:HttpMethod, request:HttpUrl, postData:Typertext.Http.HttpPostData = {}, callback?:JsonResponseHandler) { + //Ensure we have an executable callback + if (typeof callback != "function") { + //Make a request and ignore the response, throwing exceptions in async code can be weird + this.request.RawRequest(method, request, postData, ()=>{}); + return; + } + + //Make a full request and handle the response this.request.RawRequest(method, request, postData, (response:HttpResponse)=> { //Make sure that we got the Json content type we are expecting if (response.GetContentType() != this.jsonType) { - callback(new JsonResponse(HttpResponseStatus.responseError)); + //If not it is an invalid server response + callback(JsonResponse.fromInvalidHttpResponse(response)); + return; } - try { - callback(JsonResponse.fromHttpResponse(response)); - } catch (e) { - throw new JsonException("Json parse exception", -1); - } + //If it is then we can just pass it straight through to the JSON response + callback(JsonResponse.fromHttpResponse(response)); }); } } diff --git a/lib/Typertext/Json/JsonResponse.ts b/lib/Typertext/Json/JsonResponse.ts index 512ded2..4238ef6 100644 --- a/lib/Typertext/Json/JsonResponse.ts +++ b/lib/Typertext/Json/JsonResponse.ts @@ -8,6 +8,13 @@ module Typertext.Json { export class JsonResponse extends Typertext.GenericResponse { + /** + * @property parseSuccess + * @type {boolean} + * @private + */ + private parseSuccess:boolean; + /** * This method handles converting a string into a parsed JSON object * @@ -15,7 +22,21 @@ module Typertext.Json { * @returns {JsonResponse} */ public static fromHttpResponse(httpResponse:HttpResponse):JsonResponse { - return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), window["JSON"].parse(httpResponse.GetContent())); + try { + return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), window["JSON"].parse(httpResponse.GetContent()), true); + } catch(e) { + return new JsonResponse(httpResponse.GetStatus(), httpResponse.GetHeader, httpResponse.GetHttpStatus(), null); + } + } + + /** + * This method handles creating an unsuccessful JSON response if the content-type is wrong + * + * @param httpResponse + * @returns {JsonResponse} + */ + public static fromInvalidHttpResponse(httpResponse:HttpResponse):JsonResponse { + return new JsonResponse(HttpResponseStatus.responseError, httpResponse.GetHeader, httpResponse.GetHttpStatus()); } /** @@ -26,12 +47,24 @@ module Typertext.Json { * @param {HttpHeaderData} responseHeaders * @param {number} httpResponseCode * @param {JsonObject} responseBody + * @param {boolean} parseSuccess * * @author Kegan Myers * @version 0.3.0 */ - constructor(status:HttpResponseStatus, responseHeaderGetter?:(input:string)=>string, httpResponseCode?:number, responseBody?:JsonObject) { + constructor(status:HttpResponseStatus, responseHeaderGetter?:(input:string)=>string, httpResponseCode?:number, responseBody?:JsonObject, parseSuccess?:boolean) { super(status, responseHeaderGetter, httpResponseCode, responseBody); + parseSuccess = !!parseSuccess || false; + this.parseSuccess = parseSuccess; + } + + /** + * Check whether the parsing stage of creating creating the JSON response was successful + * + * @returns {boolean} + */ + public GetParseStatus():boolean { + return this.parseSuccess; } } } \ No newline at end of file diff --git a/test/Typertext/Json/JsonResponse.test.js b/test/Typertext/Json/JsonResponse.test.js index cd97f16..ba44d02 100644 --- a/test/Typertext/Json/JsonResponse.test.js +++ b/test/Typertext/Json/JsonResponse.test.js @@ -4,41 +4,37 @@ describe("Typertext.Json.JsonResponse", function () { }); describe("fromHttpResponse", function () { + function hf() { + return ""; + } + it("exists", function () { expect(typeof Typertext.Json.JsonResponse.fromHttpResponse).toBe("function"); }); it("handles an empty json object response", function () { - function hf() { - return ""; - } - var inputBody = "{}", input = new Typertext.Http.HttpResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, inputBody), expectedBody = {}, - expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody), + expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody, true), actualOutput = Typertext.Json.JsonResponse.fromHttpResponse(input); expect(window["JSON"].parse(inputBody)).toEqual(expectedBody); expect(window["JSON"].stringify(actualOutput)).toEqual(window["JSON"].stringify(expectedOutput)); }); it("handles an empty string", function () { - function hf() { - return ""; - } - var inputBody = "", - input = new Typertext.Http.HttpResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, inputBody); - expect(function () { - Typertext.Json.JsonResponse.fromHttpResponse(input); + input = new Typertext.Http.HttpResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, inputBody), + expectedBody = null, + expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody, false), + actualOutput = Typertext.Json.JsonResponse.fromHttpResponse(input); + expect(function() { + window["JSON"].parse(inputBody) }).toThrow(); + expect(window["JSON"].stringify(actualOutput)).toEqual(window["JSON"].stringify(expectedOutput)); }); it("handles an example server response", function () { - function hf() { - return ""; - } - var inputBody = "{\"access_token\":\"0d95289cb2f54831dc435ce9274b1d1bdf8f5949\",\"expires_in\":86400," + "\"token_type\":\"Bearer\",\"scope\":null," + "\"refresh_token\":\"8a4431470af2edc3fdf747eca5f71451a3ad2d98\"}", @@ -50,7 +46,7 @@ describe("Typertext.Json.JsonResponse", function () { "scope": null, "refresh_token": "8a4431470af2edc3fdf747eca5f71451a3ad2d98" }, - expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody), + expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody, true), actualOutput = Typertext.Json.JsonResponse.fromHttpResponse(input); expect(window["JSON"].parse(inputBody)).toEqual(expectedBody); expect(window["JSON"].stringify(actualOutput)).toEqual(window["JSON"].stringify(expectedOutput));