kitejs
Version:
the rpc framework Kite for Node.js
30 lines (25 loc) • 955 B
text/typescript
import { Map } from '../types/lang';
import { assign } from '../util';
import * as request from 'request';
export class Lookup {
constructor(options) {
}
public request(requestOptions: Map<any>, callback) {
var service = requestOptions.service;
delete requestOptions.service;
var options = assign({
uri: `http://${requestOptions.host}:${requestOptions.port}/v1/lookup/name?name=${service}`
}, requestOptions || {});
request(options, function (err, response) {
if (err) {
callback(err);
return;
}
if (response.statusCode !== 200) {
callback(new Error(`Error: ${response.statusMessage} - ${response.statusMessage}`));
return;
}
callback(null, typeof response.body === 'string' && JSON.parse(response.body) || response.body);
});
}
}