Packageorg.restfulx.services.http
Classpublic class XMLHTTPServiceProvider
ImplementsIServiceProvider
SubclassesAMFServiceProvider, AS3XMLHTTPServiceProvider, GAEHTTPServiceProvider, JSONHTTPServiceProvider, MockXMLHTTPServiceProvider

XML-over-HTTP service provider based on Flex HTTPService.



Public Properties
 PropertyDefined by
  id : int
[read-only] ID uniquely identifies this service provider.
XMLHTTPServiceProvider
  rootUrl : String
Root URL that this service provider will prefix to all requests.
XMLHTTPServiceProvider
Protected Properties
 PropertyDefined by
  serializer : ISerializer
XMLHTTPServiceProvider
  state : ModelsMetadata
XMLHTTPServiceProvider
  urlSuffix : String
XMLHTTPServiceProvider
Public Methods
 MethodDefined by
  
XMLHTTPServiceProvider(httpRootUrl:String = null)
XMLHTTPServiceProvider
  
canLazyLoad():Boolean
Indicates if this service provider can perform lazy loading.
XMLHTTPServiceProvider
  
create(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0):void
RESTful CRUD contract: create method.
XMLHTTPServiceProvider
  
destroy(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0):void
RESTful CRUD contract: destroy method.
XMLHTTPServiceProvider
  
hasErrors(object:Object):Boolean
Indicates to the ServiceResponder that this particular run (typically create/update or destroy) has produced errors.
XMLHTTPServiceProvider
  
index(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null):void
RESTful CRUD contract: index method.
XMLHTTPServiceProvider
  
marshall(object:Object, recursive:Boolean = false):Object
Produces service provider specific model representation suitable for being serialized.
XMLHTTPServiceProvider
  
show(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null):void
RESTful CRUD contract: show method.
XMLHTTPServiceProvider
  
unmarshall(object:Object, disconnected:Boolean = false, defaultType:String = null):Object
The reverse of marshall.
XMLHTTPServiceProvider
  
update(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0):void
RESTful CRUD contract: update method.
XMLHTTPServiceProvider
Protected Methods
 MethodDefined by
  
addHeaders(request:URLRequest, headers:Object):void
XMLHTTPServiceProvider
  
decodeResult(result:Object):Object
XMLHTTPServiceProvider
  
getURLLoader():URLLoader
XMLHTTPServiceProvider
  
getURLRequest(object:Object, nestedBy:Array = null):URLRequest
XMLHTTPServiceProvider
  
invokeCreateOrUpdateURLRequest(request:URLRequest, responder:IResponder, object:Object, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):void
XMLHTTPServiceProvider
  
invokeMultiPartRequest(request:URLRequest, object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):void
XMLHTTPServiceProvider
  
invokeURLRequest(request:URLRequest, responder:IResponder):void
XMLHTTPServiceProvider
  
marshallToURLVariables(source:Object):URLVariables
XMLHTTPServiceProvider
  
marshallToVO(object:Object, recursive:Boolean = false, toDelete:Boolean = false):Object
XMLHTTPServiceProvider
  
sendOrUpload(request:URLRequest, object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):void
XMLHTTPServiceProvider
  
uploadFile(request:URLRequest, object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):void
XMLHTTPServiceProvider
  
urlEncodeMetadata(metadata:Object = null):String
XMLHTTPServiceProvider
Public Constants
 ConstantDefined by
  ID : int
[static] service id
XMLHTTPServiceProvider
Property detail
idproperty
id:int  [read-only]

ID uniquely identifies this service provider. This is typically obtained from ServiceManager like so: public static const ID:int = ServiceManager.generateId(); You can then wrap around this with a getter: public function get id():int { return ID; }

Implementation
    public function get id():int

See also

rootUrlproperty 
public var rootUrl:String

Root URL that this service provider will prefix to all requests. By default this will be equal to Rx.httpRootUrl parameter

serializerproperty 
protected var serializer:ISerializer
stateproperty 
protected var state:ModelsMetadata
urlSuffixproperty 
protected var urlSuffix:String
Constructor detail
XMLHTTPServiceProvider()constructor
public function XMLHTTPServiceProvider(httpRootUrl:String = null)

Parameters
httpRootUrl:String (default = null) — root URL that this service provider will prefix to all requests. By default this will be equal to Rx.httpRootUrl parameter
Method detail
addHeaders()method
protected function addHeaders(request:URLRequest, headers:Object):voidParameters
request:URLRequest
 
headers:Object
canLazyLoad()method 
public function canLazyLoad():Boolean

Indicates if this service provider can perform lazy loading. RxModelsController will then skip pre-fetching of the lazy dependencies and it's the responsibility of the provider to make sure that the data that was requested is loaded (perhaps via nesting, etc).

Returns
Boolean — true if the service provider can lazy load, false otherwise

See also

create()method 
public function create(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0):void

RESTful CRUD contract: create method. Same semantics as Rails RESTful controller create.

Parameters
object:Object — object to create (typically a new model instance)
 
responder:IResponder — the responder that must be called on index
 
metadata:Object (default = null) — any metadata that must be appended with the index request
 
nestedBy:Array (default = null) — an array of model instances that will be used to nest this request, e.g.: [project, user] where project is some Project model instance and user is some User model instance. In case of XMLHTTPServiceProvider nesting may require additional configuration on the server. If you are using Rails see config/routes.rb for more details.
 
recursive:Boolean (default = false) — indicates if recursive create (object + all children) should be performed
 
undoRedoFlag:int (default = 0) — indicates if it's a normal invocation, undo invocation or redo invocation

See also

decodeResult()method 
protected function decodeResult(result:Object):ObjectParameters
result:Object

Returns
Object
destroy()method 
public function destroy(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0):void

RESTful CRUD contract: destroy method. Same semantics as Rails RESTful controller destroy.

Parameters
object:Object — object to destroy (typically an existing model instance)
 
responder:IResponder — the responder that must be called on index
 
metadata:Object (default = null) — any metadata that must be appended with the index request
 
nestedBy:Array (default = null) — an array of model instances that will be used to nest this request, e.g.: [project, user] where project is some Project model instance and user is some User model instance. In case of XMLHTTPServiceProvider nesting may require additional configuration on the server. If you are using Rails see config/routes.rb for more details.
 
recursive:Boolean (default = false) — indicates if recursive create (object + all children) should be performed
 
undoRedoFlag:int (default = 0) — indicates if it's a normal invocation, undo invocation or redo invocation

See also

getURLLoader()method 
protected function getURLLoader():URLLoader

Returns
URLLoader
getURLRequest()method 
protected function getURLRequest(object:Object, nestedBy:Array = null):URLRequestParameters
object:Object
 
nestedBy:Array (default = null)

Returns
URLRequest
hasErrors()method 
public function hasErrors(object:Object):Boolean

Indicates to the ServiceResponder that this particular run (typically create/update or destroy) has produced errors. This typically means that response processing must be terminated and instead errors should be displayed.

Parameters
object:Object — the response object being processed

Returns
Boolean — true if there are errors false otherwise

See also

index()method 
public function index(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null):void

RESTful CRUD contract: index method. Same semantics as Rails RESTful controller index.

Parameters
object:Object — object to index (typically a class like Project, etc)
 
responder:IResponder — the responder that must be called on index
 
metadata:Object (default = null) — any metadata that must be appended with the index request
 
nestedBy:Array (default = null) — an array of model instances that will be used to nest this request, e.g.: [project, user] where project is some Project model instance and user is some User model instance. In case of XMLHTTPServiceProvider nesting may require additional configuration on the server. If you are using Rails see config/routes.rb for more details.

See also

invokeCreateOrUpdateURLRequest()method 
protected function invokeCreateOrUpdateURLRequest(request:URLRequest, responder:IResponder, object:Object, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):voidParameters
request:URLRequest
 
responder:IResponder
 
object:Object
 
metadata:Object (default = null)
 
nestedBy:Array (default = null)
 
recursive:Boolean (default = false)
 
undoRedoFlag:int (default = 0)
 
creating:Boolean (default = false)
invokeMultiPartRequest()method 
protected function invokeMultiPartRequest(request:URLRequest, object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):voidParameters
request:URLRequest
 
object:Object
 
responder:IResponder
 
metadata:Object (default = null)
 
nestedBy:Array (default = null)
 
recursive:Boolean (default = false)
 
undoRedoFlag:int (default = 0)
 
creating:Boolean (default = false)
invokeURLRequest()method 
protected function invokeURLRequest(request:URLRequest, responder:IResponder):voidParameters
request:URLRequest
 
responder:IResponder
marshall()method 
public function marshall(object:Object, recursive:Boolean = false):Object

Produces service provider specific model representation suitable for being serialized. For example, XMLHTTPServiceProvider would return XML.

Parameters
object:Object — object to marshall into serialized form
 
recursive:Boolean (default = false) — flag indicating if entire object graph should be serialized inline

Returns
Object

See also

marshallToURLVariables()method 
protected function marshallToURLVariables(source:Object):URLVariablesParameters
source:Object

Returns
URLVariables
marshallToVO()method 
protected function marshallToVO(object:Object, recursive:Boolean = false, toDelete:Boolean = false):ObjectParameters
object:Object
 
recursive:Boolean (default = false)
 
toDelete:Boolean (default = false)

Returns
Object
sendOrUpload()method 
protected function sendOrUpload(request:URLRequest, object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):voidParameters
request:URLRequest
 
object:Object
 
responder:IResponder
 
metadata:Object (default = null)
 
nestedBy:Array (default = null)
 
recursive:Boolean (default = false)
 
undoRedoFlag:int (default = 0)
 
creating:Boolean (default = false)
show()method 
public function show(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null):void

RESTful CRUD contract: show method. Same semantics as Rails RESTful controller show.

Parameters
object:Object — object to show (typically a model instance as opposed to class)
 
responder:IResponder — the responder that must be called on index
 
metadata:Object (default = null) — any metadata that must be appended with the index request
 
nestedBy:Array (default = null) — an array of model instances that will be used to nest this request, e.g.: [project, user] where project is some Project model instance and user is some User model instance. In case of XMLHTTPServiceProvider nesting may require additional configuration on the server. If you are using Rails see config/routes.rb for more details.

See also

unmarshall()method 
public function unmarshall(object:Object, disconnected:Boolean = false, defaultType:String = null):Object

The reverse of marshall. Takes a response from the underlying service provider and turns it into an object graph of models.

Parameters
object:Object — source object from the service provider/responder
 
disconnected:Boolean (default = false) — a flag indicating that the object should not be reconnected with the cache
 
defaultType:String (default = null) — default type to use if the type cannot be determined by the serializer

Returns
Object — (dis)connected object graph of the model corresponding to the response

See also

update()method 
public function update(object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0):void

RESTful CRUD contract: update method. Same semantics as Rails RESTful controller update.

Parameters
object:Object — object to update (typically an existing model instance)
 
responder:IResponder — the responder that must be called on index
 
metadata:Object (default = null) — any metadata that must be appended with the index request
 
nestedBy:Array (default = null) — an array of model instances that will be used to nest this request, e.g.: [project, user] where project is some Project model instance and user is some User model instance. In case of XMLHTTPServiceProvider nesting may require additional configuration on the server. If you are using Rails see config/routes.rb for more details.
 
recursive:Boolean (default = false) — indicates if recursive create (object + all children) should be performed
 
undoRedoFlag:int (default = 0) — indicates if it's a normal invocation, undo invocation or redo invocation

See also

uploadFile()method 
protected function uploadFile(request:URLRequest, object:Object, responder:IResponder, metadata:Object = null, nestedBy:Array = null, recursive:Boolean = false, undoRedoFlag:int = 0, creating:Boolean = false):voidParameters
request:URLRequest
 
object:Object
 
responder:IResponder
 
metadata:Object (default = null)
 
nestedBy:Array (default = null)
 
recursive:Boolean (default = false)
 
undoRedoFlag:int (default = 0)
 
creating:Boolean (default = false)
urlEncodeMetadata()method 
protected function urlEncodeMetadata(metadata:Object = null):StringParameters
metadata:Object (default = null)

Returns
String
Constant detail
IDconstant
public static const ID:int

service id