Controller is missing???

This commit is contained in:
thosakwe 2016-09-03 07:33:59 -04:00
parent 778f0868ff
commit bdb9ad4fcd
3 changed files with 26 additions and 11 deletions

View file

@ -3,6 +3,7 @@ import 'dart:convert';
import 'dart:html'; import 'dart:html';
import 'package:angel_client/angel_client.dart'; import 'package:angel_client/angel_client.dart';
import 'package:angel_websocket/angel_websocket.dart'; import 'package:angel_websocket/angel_websocket.dart';
export 'package:angel_websocket/angel_websocket.dart';
class WebSocketClient extends Angel { class WebSocketClient extends Angel {
WebSocket _socket; WebSocket _socket;
@ -97,8 +98,9 @@ class _WebSocketServiceTransformer
var _stream = new StreamController<WebSocketEvent>(); var _stream = new StreamController<WebSocketEvent>();
stream.listen((WebSocketEvent e) { stream.listen((WebSocketEvent e) {
if (_outputType != null && e.eventName != "error") /* if (_outputType != null && e.eventName != "error")
e.data = god.deserialize(god.serialize(e.data), outputType: _outputType); e.data = god.deserialize(god.serialize(e.data), outputType: _outputType);
*/
_stream.add(e); _stream.add(e);
}); });
@ -154,40 +156,55 @@ class WebSocketService extends Service {
_transformer = new _WebSocketServiceTransformer.base(this._outputType); _transformer = new _WebSocketServiceTransformer.base(this._outputType);
} }
_serialize(WebSocketAction action) {
var data = {
"id": action.id,
"eventName": action.eventName
};
if (action.data != null)
data["data"] = action.data;
if (action.params != null)
data["params"] = action.params;
return JSON.encode(data);
}
@override @override
Future<List> index([Map params]) async { Future<List> index([Map params]) async {
connection.send(god.serialize( connection.send(_serialize(
new WebSocketAction(eventName: "$_path::index", params: params))); new WebSocketAction(eventName: "$_path::index", params: params)));
return null; return null;
} }
@override @override
Future read(id, [Map params]) async { Future read(id, [Map params]) async {
connection.send(god.serialize(new WebSocketAction( connection.send(_serialize(new WebSocketAction(
eventName: "$_path::read", id: id, params: params))); eventName: "$_path::read", id: id, params: params)));
} }
@override @override
Future create(data, [Map params]) async { Future create(data, [Map params]) async {
connection.send(god.serialize(new WebSocketAction( connection.send(_serialize(new WebSocketAction(
eventName: "$_path::create", data: data, params: params))); eventName: "$_path::create", data: data, params: params)));
} }
@override @override
Future modify(id, data, [Map params]) async { Future modify(id, data, [Map params]) async {
connection.send(god.serialize(new WebSocketAction( connection.send(_serialize(new WebSocketAction(
eventName: "$_path::modify", id: id, data: data, params: params))); eventName: "$_path::modify", id: id, data: data, params: params)));
} }
@override @override
Future update(id, data, [Map params]) async { Future update(id, data, [Map params]) async {
connection.send(god.serialize(new WebSocketAction( connection.send(_serialize(new WebSocketAction(
eventName: "$_path::update", id: id, data: data, params: params))); eventName: "$_path::update", id: id, data: data, params: params)));
} }
@override @override
Future remove(id, [Map params]) async { Future remove(id, [Map params]) async {
connection.send(god.serialize(new WebSocketAction( connection.send(_serialize(new WebSocketAction(
eventName: "$_path::remove", id: id, params: params))); eventName: "$_path::remove", id: id, params: params)));
} }
} }

View file

@ -3,11 +3,9 @@ library angel_websocket.server;
import 'dart:async'; import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'dart:mirrors';
import 'package:angel_framework/angel_framework.dart'; import 'package:angel_framework/angel_framework.dart';
import 'package:json_god/json_god.dart' as god; import 'package:json_god/json_god.dart' as god;
import 'package:merge_map/merge_map.dart'; import 'package:merge_map/merge_map.dart';
import 'package:uuid/uuid.dart';
import 'angel_websocket.dart'; import 'angel_websocket.dart';
part 'websocket_context.dart'; part 'websocket_context.dart';

View file

@ -1,6 +1,6 @@
name: angel_websocket name: angel_websocket
description: WebSocket plugin for Angel description: WebSocket plugin for Angel
version: 1.0.0-dev version: 1.0.0-dev+1
author: thosakwe <thosakwe@gmail.com> author: thosakwe <thosakwe@gmail.com>
homepage: https://github.com/angel-dart/angel_websocket homepage: https://github.com/angel-dart/angel_websocket
dependencies: dependencies: