Пример #1
0
	it("params", function() {
		jr = rpc.json({
			'xhr': {
				test: {
					fun: function(v, a, b) {
						return a + b;
					}
				}
			}
		});

		m = new http.Request();

		m.value = '/xhr/test';
		m.setHeader("Content-Type", "application/json");
		m.body.write(encoding.jsonEncode({
			method: 'fun',
			params: [100, 200],
			id: 1234
		}));

		jr.invoke(m);

		m.response.body.rewind();
		assert.equal(m.response.body.read().toString(),
			'{"id":1234,"result":300}');
	});
Пример #2
0
	it("Garbage Collection", function() {
		GC();
		var no1 = os.memoryUsage().nativeObjects.objects;

		rpc.json({});

		GC();
		assert.equal(no1, os.memoryUsage().nativeObjects.objects);
	});
Пример #3
0
	it("function", function() {
		jr = rpc.json(function(m, p1, p2) {
			m.value = '';
			return p1 + ',' + p2;
		});

		jr.invoke(m);

		m.response.body.rewind();
		assert.equal(m.response.body.read().toString(),
			'{"id":1234,"result":"100,200"}');
	});
Пример #4
0
	it("over tcp", function() {
		var hdlr = new http.Handler(rpc.json({
			update: function(v) {
				return 1;
			}
		}));
		hdlr.crossDomain = true;
		new net.TcpServer(8090, hdlr).asyncRun();

		var s = new net.Socket();
		s.connect('127.0.0.1', 8090);

		var bs = new io.BufferedStream(s);
		bs.EOL = '\r\n';

		for (var i = 0; i < 50; i++) {
			var req = new http.Request();
			req.addHeader("content-type", "application/json");
			req.body.write('{"method":"update","params":[{}]}');
			req.sendTo(s);
			req.response.readFrom(bs);
		}
	});