123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- Poltergeist = (function () {
- /**
- * The MAIN class of the project
- * @param port
- * @param width
- * @param height
- * @param jsErrors
- * @constructor
- */
- function Poltergeist(port, width, height, jsErrors) {
- var self;
- this.browser = new Poltergeist.Browser(this, width, height, jsErrors);
- this.commandServer = new Poltergeist.Server(this, port);
- this.commandServer.start();
- self = this;
- phantom.onError = function (message, stack) {
- return self.onError(message, stack);
- };
- this.running = false;
- }
- /**
- * Tries to execute a command send by a client and returns the command response
- * or error if something happened
- * @param command
- * @param serverResponse
- * @return {boolean}
- */
- Poltergeist.prototype.serverRunCommand = function (command, serverResponse) {
- var error;
- this.running = true;
- try {
- return this.browser.serverRunCommand(command, serverResponse);
- } catch (_error) {
- error = _error;
- if (error instanceof Poltergeist.Error) {
- return this.serverSendError(error, serverResponse);
- }
- return this.serverSendError(new Poltergeist.BrowserError(error.toString(), error.stack), serverResponse);
- }
- };
- /**
- * Sends error back to the client
- * @param error
- * @param serverResponse
- * @return {boolean}
- */
- Poltergeist.prototype.serverSendError = function (error, serverResponse) {
- var errorObject;
- errorObject = {
- error: {
- name: error.name || 'Generic',
- args: error.args && error.args() || [error.toString()]
- }
- };
- return this.commandServer.sendError(serverResponse, 500, errorObject);
- };
- /**
- * Send the response back to the client
- * @param response Data to send to the client
- * @param serverResponse Phantomjs response object associated to the client request
- * @return {boolean}
- */
- Poltergeist.prototype.serverSendResponse = function (response, serverResponse) {
- return this.commandServer.send(serverResponse, {response: response});
- };
- return Poltergeist;
- })();
- window.Poltergeist = Poltergeist;
|