Document HttpRequest
This commit is contained in:
parent
66ddf14b73
commit
05b09e7d71
|
@ -1,8 +1,18 @@
|
||||||
//TODO add support for IE8-9 CORS via XDomain
|
//TODO add support for IE8-9 CORS via XDomain
|
||||||
//TODO better error handling, ala exceptions
|
//TODO better error handling, ala exceptions
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @namespace Typertext
|
||||||
|
* @module Http
|
||||||
|
*/
|
||||||
module Typertext.Http {
|
module Typertext.Http {
|
||||||
export class HttpRequest implements Typertext.GenericRequest<HttpResponseHandler> {
|
export class HttpRequest implements Typertext.GenericRequest<HttpResponseHandler> {
|
||||||
|
/**
|
||||||
|
* A helper method that takes headers sent by the server and parses it out to an object
|
||||||
|
*
|
||||||
|
* @param {string} headerStr
|
||||||
|
* @returns {HttpHeaderData}
|
||||||
|
*/
|
||||||
private static parseHeaderString(headerStr:string):HttpHeaderData {
|
private static parseHeaderString(headerStr:string):HttpHeaderData {
|
||||||
var headers:HttpHeaderData = {},
|
var headers:HttpHeaderData = {},
|
||||||
headerPairs:string[] = headerStr.split('\u000d\u000a');
|
headerPairs:string[] = headerStr.split('\u000d\u000a');
|
||||||
|
@ -17,17 +27,49 @@ module Typertext.Http {
|
||||||
return headers;
|
return headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The class that everything that calls an http(s) server should use and build on top of using callbacks
|
||||||
|
*
|
||||||
|
* @class HttpRequest
|
||||||
|
* @extends GenericRequest
|
||||||
|
*
|
||||||
|
* @author Kegan Myers <kegan@keganmyers.com>
|
||||||
|
* @version 0.3.0
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
constructor() {
|
constructor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A convenience method for simply calling a GET
|
||||||
|
*
|
||||||
|
* @param {HttpUrl} request
|
||||||
|
* @param {HttpResponseHandler} callback
|
||||||
|
*/
|
||||||
public Get(request:HttpUrl, callback:HttpResponseHandler):void {
|
public Get(request:HttpUrl, callback:HttpResponseHandler):void {
|
||||||
this.RawRequest(HttpMethod.GET, request, {}, callback);
|
this.RawRequest(HttpMethod.GET, request, {}, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A convenience method for simply calling a POST
|
||||||
|
*
|
||||||
|
* @param {HttpUrl} request
|
||||||
|
* @param {HttpPostData} postData
|
||||||
|
* @param {HttpResponseHandler} callback
|
||||||
|
*/
|
||||||
public Post(request:HttpUrl, postData:HttpPostData, callback:HttpResponseHandler):void {
|
public Post(request:HttpUrl, postData:HttpPostData, callback:HttpResponseHandler):void {
|
||||||
this.RawRequest(HttpMethod.GET, request, postData, callback);
|
this.RawRequest(HttpMethod.GET, request, postData, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a method that calls against a specified HTTP server and does basic handling of responses, with no
|
||||||
|
* data manipulation
|
||||||
|
*
|
||||||
|
* @param {HttpMethod} method
|
||||||
|
* @param {HttpUrl} request
|
||||||
|
* @param {HttpPostData} postData
|
||||||
|
* @param {HttpResponseHandler} callback
|
||||||
|
*/
|
||||||
public RawRequest(method:HttpMethod, request:HttpUrl, postData:HttpPostData = {}, callback:HttpResponseHandler = (c)=> {
|
public RawRequest(method:HttpMethod, request:HttpUrl, postData:HttpPostData = {}, callback:HttpResponseHandler = (c)=> {
|
||||||
}):void {
|
}):void {
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
|
|
Reference in a new issue