added rxjs, added getChangeObservable
This commit is contained in:
parent
4a90510ff4
commit
de05d432b1
34
dist/dockersock.classes.dockersock.d.ts
vendored
34
dist/dockersock.classes.dockersock.d.ts
vendored
@ -1,22 +1,26 @@
|
|||||||
|
/// <reference types="q" />
|
||||||
import "typings-global";
|
import "typings-global";
|
||||||
|
import * as plugins from "./dockersock.plugins";
|
||||||
|
import { Observable } from "rxjs";
|
||||||
export declare class Dockersock {
|
export declare class Dockersock {
|
||||||
sockPath: string;
|
sockPath: string;
|
||||||
constructor(pathArg?: string);
|
constructor(pathArg?: string);
|
||||||
auth(userArg: string, passArg: string): any;
|
auth(userArg: string, passArg: string): plugins.q.Promise<{}>;
|
||||||
listContainers(): any;
|
listContainers(): plugins.q.Promise<{}>;
|
||||||
listContainersDetailed(): any;
|
listContainersDetailed(): plugins.q.Promise<{}>;
|
||||||
listContainersRunning(): any;
|
listContainersRunning(): plugins.q.Promise<{}>;
|
||||||
listContainersStopped(): any;
|
listContainersStopped(): plugins.q.Promise<{}>;
|
||||||
listImages(): any;
|
listImages(): plugins.q.Promise<{}>;
|
||||||
listImagesDangling(): any;
|
listImagesDangling(): plugins.q.Promise<{}>;
|
||||||
pullImage(imageLabel: string): any;
|
pullImage(imageLabel: string): plugins.q.Promise<{}>;
|
||||||
createContainer(optionsArg: any, pullFirstArg?: boolean): any;
|
createContainer(optionsArg: any, pullFirstArg?: boolean): plugins.q.Promise<{}>;
|
||||||
getContainerId(): void;
|
getContainerId(): void;
|
||||||
startContainer(containerNameArg: any): any;
|
startContainer(containerNameArg: any): plugins.q.Promise<{}>;
|
||||||
stopContainer(containerNameArg: any): any;
|
stopContainer(containerNameArg: any): plugins.q.Promise<{}>;
|
||||||
removeContainer(containerNameArg: any): any;
|
removeContainer(containerNameArg: any): plugins.q.Promise<{}>;
|
||||||
clean(): any;
|
clean(): plugins.q.Promise<{}>;
|
||||||
callOnChange(cb: Function): void;
|
callOnChange(cb: Function): void;
|
||||||
request(methodArg: string, routeArg: string, queryArg?: string, dataArg?: {}): any;
|
getChangeObservable(): Observable<{}>;
|
||||||
requestStream(methodArg: any, routeArg: any, endArg?: boolean): any;
|
request(methodArg: string, routeArg: string, queryArg?: string, dataArg?: {}): plugins.q.Promise<{}>;
|
||||||
|
requestStream(methodArg: any, routeArg: any, endArg?: boolean): plugins.q.Promise<{}>;
|
||||||
}
|
}
|
||||||
|
23
dist/dockersock.classes.dockersock.js
vendored
23
dist/dockersock.classes.dockersock.js
vendored
File diff suppressed because one or more lines are too long
3
dist/dockersock.plugins.d.ts
vendored
3
dist/dockersock.plugins.d.ts
vendored
@ -1,4 +1,5 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
export import beautylog = require("beautylog");
|
export import beautylog = require("beautylog");
|
||||||
export declare let q: any;
|
export import q = require("q");
|
||||||
export declare let request: any;
|
export declare let request: any;
|
||||||
|
export import rxjs = require("rxjs");
|
||||||
|
4
dist/dockersock.plugins.js
vendored
4
dist/dockersock.plugins.js
vendored
@ -3,5 +3,5 @@ require("typings-global");
|
|||||||
exports.beautylog = require("beautylog");
|
exports.beautylog = require("beautylog");
|
||||||
exports.q = require("q");
|
exports.q = require("q");
|
||||||
exports.request = require("request");
|
exports.request = require("request");
|
||||||
|
exports.rxjs = require("rxjs");
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvY2tlcnNvY2sucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ1YsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNwQyxTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMiLCJmaWxlIjoiZG9ja2Vyc29jay5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7Il19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2Vyc29jay5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvZG9ja2Vyc29jay5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDVixpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLFNBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUNwQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLFlBQUksV0FBVyxNQUFNLENBQUMsQ0FBQyJ9
|
3
dist/index.js
vendored
3
dist/index.js
vendored
@ -2,5 +2,4 @@
|
|||||||
require("typings-global");
|
require("typings-global");
|
||||||
var dockersock_classes_dockersock_1 = require("./dockersock.classes.dockersock");
|
var dockersock_classes_dockersock_1 = require("./dockersock.classes.dockersock");
|
||||||
exports.Dockersock = dockersock_classes_dockersock_1.Dockersock;
|
exports.Dockersock = dockersock_classes_dockersock_1.Dockersock;
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLDhDQUF5QixpQ0FBaUMsQ0FBQztBQUFuRCxnRUFBa0QifQ==
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsOENBQXlCLGlDQUFpQyxDQUFDO0FBQW5ELGdFQUFrRCIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQge0RvY2tlcnNvY2t9IGZyb20gXCIuL2RvY2tlcnNvY2suY2xhc3Nlcy5kb2NrZXJzb2NrXCIiXX0=
|
|
@ -28,9 +28,13 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/pushrocks/dockersock#README",
|
"homepage": "https://gitlab.com/pushrocks/dockersock#README",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/es6-promise": "0.0.27-alpha",
|
||||||
|
"@types/q": "0.0.26-alpha",
|
||||||
"beautylog": "^5.0.12",
|
"beautylog": "^5.0.12",
|
||||||
|
"es6-promise": "^3.2.1",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"request": "^2.72.0",
|
"request": "^2.72.0",
|
||||||
|
"rxjs": "^5.0.0-beta.10",
|
||||||
"typings-global": "^1.0.3"
|
"typings-global": "^1.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -25,7 +25,7 @@ describe("dockersock", function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
it("should pull an image from imagetag", function (done) {
|
it("should pull an image from imagetag", function (done) {
|
||||||
this.timeout(30000);
|
this.timeout(60000);
|
||||||
testDockersock.pullImage("hosttoday%2Fht-docker-dbase")
|
testDockersock.pullImage("hosttoday%2Fht-docker-dbase")
|
||||||
.then(function (dataArg) {
|
.then(function (dataArg) {
|
||||||
done();
|
done();
|
||||||
@ -33,5 +33,4 @@ describe("dockersock", function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUVoQixzQkFBeUIsZUFFekIsQ0FBQyxDQUZ1QztBQUV4QyxRQUFRLENBQUMsWUFBWSxFQUFDO0lBQ2xCLFFBQVEsQ0FBQyxlQUFlLEVBQUM7UUFDckIsSUFBSSxjQUF5QixDQUFDO1FBQzlCLEVBQUUsQ0FBQyx5Q0FBeUMsRUFBQztZQUN6QyxjQUFjLEdBQUcsSUFBSSxrQkFBVSxFQUFFLENBQUM7WUFDbEMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFVLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyx3QkFBd0IsRUFBQyxVQUFTLElBQUk7WUFDckMsY0FBYyxDQUFDLGNBQWMsRUFBRTtpQkFDMUIsSUFBSSxDQUFDLFVBQUMsT0FBTztnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsaUNBQWlDLEVBQUMsVUFBUyxJQUFJO1lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsY0FBYyxDQUFDLHNCQUFzQixFQUFFO2lCQUNsQyxJQUFJLENBQUMsVUFBQyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxvQ0FBb0MsRUFBQyxVQUFTLElBQUk7WUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixjQUFjLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDO2lCQUNsRCxJQUFJLENBQUMsVUFBQyxPQUFPO2dCQUNWLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUVQLENBQUMsQ0FGYztBQUVmLHNCQUF5QixlQUV6QixDQUFDLENBRnVDO0FBRXhDLFFBQVEsQ0FBQyxZQUFZLEVBQUM7SUFDbEIsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixJQUFJLGNBQXlCLENBQUM7UUFDOUIsRUFBRSxDQUFDLHlDQUF5QyxFQUFDO1lBQ3pDLGNBQWMsR0FBRyxJQUFJLGtCQUFVLEVBQUUsQ0FBQztZQUNsQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQVUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLHdCQUF3QixFQUFDLFVBQVMsSUFBSTtZQUNyQyxjQUFjLENBQUMsY0FBYyxFQUFFO2lCQUMxQixJQUFJLENBQUMsVUFBQyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBQyxVQUFTLElBQUk7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixjQUFjLENBQUMsc0JBQXNCLEVBQUU7aUJBQ2xDLElBQUksQ0FBQyxVQUFDLE9BQU87Z0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckIsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLG9DQUFvQyxFQUFDLFVBQVMsSUFBSTtZQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLGNBQWMsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUM7aUJBQ2xELElBQUksQ0FBQyxVQUFDLE9BQU87Z0JBQ1YsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLXRlc3RcIjtcbmltcG9ydCBcInNob3VsZFwiXG5cbmltcG9ydCB7RG9ja2Vyc29ja30gZnJvbSBcIi4uL2Rpc3QvaW5kZXhcIlxuXG5kZXNjcmliZShcImRvY2tlcnNvY2tcIixmdW5jdGlvbigpe1xuICAgIGRlc2NyaWJlKFwiLkRvY2tlcnNvY2soKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGxldCB0ZXN0RG9ja2Vyc29jazpEb2NrZXJzb2NrO1xuICAgICAgICBpdChcInNob3VsZCBjcmVhdGUgYSBuZXcgRG9ja2Vyc29jayBpbnN0YW5jZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0RG9ja2Vyc29jayA9IG5ldyBEb2NrZXJzb2NrKCk7XG4gICAgICAgICAgICB0ZXN0RG9ja2Vyc29jay5zaG91bGQuYmUuaW5zdGFuY2VvZihEb2NrZXJzb2NrKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwic2hvdWxkIGxpc3QgY29udGFpbmVyc1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgdGVzdERvY2tlcnNvY2subGlzdENvbnRhaW5lcnMoKVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhQXJnKT0+e1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhQXJnKTtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCJzaG91bGQgbGlzdCBkZXRhaWxlZCBjb250YWluZXJzXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXQoNTAwMCk7XG4gICAgICAgICAgICB0ZXN0RG9ja2Vyc29jay5saXN0Q29udGFpbmVyc0RldGFpbGVkKClcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YUFyZyk9PntcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YUFyZyk7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwic2hvdWxkIHB1bGwgYW4gaW1hZ2UgZnJvbSBpbWFnZXRhZ1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0KDMwMDAwKTtcbiAgICAgICAgICAgIHRlc3REb2NrZXJzb2NrLnB1bGxJbWFnZShcImhvc3R0b2RheSUyRmh0LWRvY2tlci1kYmFzZVwiKVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhQXJnKT0+e1xuICAgICAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICAgICAgfSxkb25lKTtcbiAgICAgICAgfSlcbiAgICB9KTtcbn0pOyJdfQ==
|
|
@ -1,5 +1,6 @@
|
|||||||
import "typings-global"
|
import "typings-global"
|
||||||
import * as plugins from "./dockersock.plugins";
|
import * as plugins from "./dockersock.plugins";
|
||||||
|
import {Observable} from "rxjs";
|
||||||
|
|
||||||
export class Dockersock {
|
export class Dockersock {
|
||||||
sockPath:string;
|
sockPath:string;
|
||||||
@ -118,9 +119,7 @@ export class Dockersock {
|
|||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
getChangeEmitter(){
|
getChangeObservable(){
|
||||||
class EventEmitter extends plugins.events.EventEmitter {};
|
|
||||||
let emitterInstance = new EventEmitter();
|
|
||||||
let requestStream = plugins.request.get(this.sockPath + "/events");
|
let requestStream = plugins.request.get(this.sockPath + "/events");
|
||||||
requestStream.on("response",(response) => {
|
requestStream.on("response",(response) => {
|
||||||
if(response.statusCode == 200){
|
if(response.statusCode == 200){
|
||||||
@ -129,15 +128,11 @@ export class Dockersock {
|
|||||||
plugins.beautylog.error("request returned error: " + response.statusCode);
|
plugins.beautylog.error("request returned error: " + response.statusCode);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
requestStream.on("data",(data:Buffer) => {
|
let changeObservable = Observable.fromEvent(requestStream,"data");
|
||||||
let status = JSON.parse(data.toString()).status;
|
|
||||||
plugins.beautylog.logReduced(status);
|
|
||||||
emitterInstance.emit("change",data);
|
|
||||||
});
|
|
||||||
requestStream.on("end",()=> {
|
requestStream.on("end",()=> {
|
||||||
|
|
||||||
});
|
});
|
||||||
return emitterInstance;
|
return changeObservable;
|
||||||
}
|
}
|
||||||
request(methodArg:string,routeArg:string,queryArg:string = "", dataArg = {}){
|
request(methodArg:string,routeArg:string,queryArg:string = "", dataArg = {}){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
@ -168,12 +163,12 @@ export class Dockersock {
|
|||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
if(methodArg == "POST"){
|
if(methodArg == "POST"){
|
||||||
let requestStream = plugins.request.post(this.sockPath + routeArg);
|
let requestStream = plugins.request.post(this.sockPath + routeArg);
|
||||||
requestStream.on("response",(response) => {
|
requestStream.on("response",(response,err) => {
|
||||||
if(response.statusCode == 200){
|
if(response.statusCode == 200){
|
||||||
plugins.beautylog.ok("request returned status 200, so we are good!");
|
plugins.beautylog.ok("request returned status 200, so we are good!");
|
||||||
} else {
|
} else {
|
||||||
plugins.beautylog.error("request returned error: " + response.statusCode);
|
plugins.beautylog.error("request returned error: " + response.statusCode);
|
||||||
done.reject();
|
done.reject(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
requestStream.on("data",(data:Buffer) => {
|
requestStream.on("data",(data:Buffer) => {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
export import beautylog = require("beautylog");
|
export import beautylog = require("beautylog");
|
||||||
export import events = require("events");
|
export import q = require("q");
|
||||||
export let q = require("q");
|
|
||||||
export let request = require("request");
|
export let request = require("request");
|
||||||
eventEmitter.
|
export import rxjs = require("rxjs");
|
Loading…
Reference in New Issue
Block a user