import {HttpConnection} from './HttpConnection';
import {HttpContentEnum} from './HttpContentEnum';
//==========================================================
// 配置通讯链接。
//
// @class
// @author maocy
// @version 150104
//==========================================================
export class JsonConnection extends HttpConnection {
// 内容
protected _content: any;
//==========================================================
// 构造处理。
//==========================================================
public constructor() {
super();
// 设置属性
this.contentCd = HttpContentEnum.Text;
}
//==========================================================
// 响应链接发送处理。
//==========================================================
public onConnectionSend() {
var input = this._input;
if (input) {
if (input.constructor == String) {
this._inputData = input;
this._contentLength = input.length;
} else {
var value = this._inputData = JSON.stringify(input)
this._contentLength = value.length;
}
}
}
//==========================================================
// 事件响应处理。
//==========================================================
public onConnectionComplete() {
this._statusFree = true;
// 解析内容
var content = null;
var data = this._outputData;
if (data) {
content = this._content = JSON.parse(data);
}
// 加载处理
var event = this._event;
event.connection = this;
event.data = data;
event.content = content;
this.loadListeners.process(event);
// 完成处理
this.completeListeners.process(event);
}
//==========================================================
// 获得内容。
//==========================================================
public get content(): any {
return this._content;
}
}