提交 6b430e5d 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

replace npmlog to use env, fix phantomjs setCookie warning for ALL_CAP_NAMES

上级 14935d42
......@@ -6,7 +6,7 @@
* https://github.com/zixia/wechaty
*
*/
const log = require('npmlog')
const log = require('./npmlog-env')
class Contact {
constructor(id) {
......
......@@ -6,6 +6,7 @@
* https://github.com/zixia/wechaty
*
*/
const log = require('./npmlog-env')
const Message = require('./message')
......
......@@ -9,7 +9,8 @@
const Contact = require('./contact')
const Room = require('./room')
const log = require('npmlog')
const log = require('./npmlog-env')
class Message {
constructor(rawObj) {
......
......@@ -10,7 +10,8 @@
*
*/
const retryPromise = require('retry-promise').default
const log = require('npmlog')
const log = require('./npmlog-env')
class Bridge {
constructor(options) {
......
......@@ -11,9 +11,10 @@
const fs = require('fs')
const path = require('path')
const WebDriver = require('selenium-webdriver')
const log = require('npmlog')
const retryPromise = require('retry-promise').default // https://github.com/olalonde/retry-promise
const log = require('./npmlog-env')
class Browser {
constructor(options) {
log.verbose('Browser', 'constructor()')
......@@ -190,8 +191,7 @@ class Browser {
return this.driver.manage()
.addCookie(cookie.name, cookie.value, cookie.path
, cookie.domain, cookie.secure, cookie.expiry
)
, cookie.domain, cookie.secure, cookie.expiry)
}
}
......
......@@ -14,7 +14,8 @@ const io = require('socket.io')
const path = require('path')
const https = require('https')
const bodyParser = require('body-parser')
const log = require('npmlog')
const log = require('./npmlog-env')
const Express = require('express')
const EventEmitter = require('events')
......
......@@ -189,7 +189,7 @@ class PuppetWeb extends Puppet {
log.verbose('PuppetWeb', `user ${this.user.name()} logined`)
this.emit('login', this.user)
yield this.saveSession()
yield this.saveSession().catch(() => {/* fall safe */})
}).catch(e => log.error('PuppetWeb', 'onServerLogin co rejected: %s', e))
}
......@@ -213,9 +213,6 @@ class PuppetWeb extends Puppet {
* after received `unload`, we re-inject the Wechaty js code into browser.
*/
onServerUnload(data) {
//XXX
return
log.verbose('PuppetWeb', 'server received unload event')
this.onServerLogout(data) // XXX: should emit event[logout] from browser
......@@ -282,7 +279,7 @@ class PuppetWeb extends Puppet {
log.verbose('PuppetWeb', `checkSession(${this.session})`)
return this.browser.driver.manage().getCookies()
.then(cookies => {
log.silly('PuppetWeb', 'checkSession %s', require('util').inspect(cookies.map(c => { return {name: c.name, value: c.value} })))
log.silly('PuppetWeb', 'checkSession %s', require('util').inspect(cookies/*.map(c => { return {name: c.name, value: c.value, expiresType: typeof c.expires, expires: c.expires} })*/))
return cookies
})
}
......@@ -294,13 +291,19 @@ class PuppetWeb extends Puppet {
return new Promise((resolve, reject) => {
this.browser.driver.manage().getCookies()
.then(cookies => {
const skipNames = [
'ChromeDriver'
, 'MM_WX_SOUND_STATE'
, 'MM_WX_NOTIFY_STATE'
]
const skipNamesRegex = new RegExp(skipNames.join('|'), 'i')
const filteredCookies = cookies.filter(c => {
if (/ChromeDriver/i.test(c.name)) { return false }
else { return true }
if (skipNamesRegex.test(c.name)) { return false }
// else if (!/wx\.qq\.com/i.test(c.domain)) { return false }
else { return true }
})
log.silly('PuppetWeb', 'saving %d cookies for session: %s', cookies.length
, util.inspect(filteredCookies.map(c => c.name))
)
, util.inspect(filteredCookies/*.map(c => { return {name: c.name, value: c.value, expiresType: typeof c.expires, expires: c.expires} })*/))
const jsonStr = JSON.stringify(filteredCookies)
fs.writeFile(filename, jsonStr, function(err) {
......@@ -326,13 +329,13 @@ class PuppetWeb extends Puppet {
return reject('error code:' + err.code)
}
const cookies = JSON.parse(jsonStr)
log.verbose('PuppetWeb', 'loading %d cookies for session', cookies.length )
log.info('PuppetWeb', 'loading %d cookies for session %s', cookies.length, this.session )
const ps = this.browser.addCookies(cookies)
return Promise.all(ps)
.then(() => resolve(cookies))
.catch(e => {
log.error('PuppetWeb', 'loadSession2 rejected: %s', e)
log.error('PuppetWeb', 'loadSession rejected: %s', e)
reject(e)
})
})
......
......@@ -11,7 +11,7 @@
*/
const EventEmitter = require('events')
const log = require('npmlog')
const log = require('./npmlog-env')
class Puppet extends EventEmitter {
constructor() {
......
......@@ -6,7 +6,7 @@
* https://github.com/zixia/wechaty
*
*/
const log = require('npmlog')
const log = require('./npmlog-env')
const Contact = require('./contact')
class Room {
......
/**
* Ssl Key & Cert files.
*
* Ssl Key & Cert files.
*
* Hardcoded here, NO need to re-config.
* because there will only be visit from 127.0.0.1
* so it will not be a security issue.
*
*
* http://blog.mgechev.com/2014/02/19/create-https-tls-ssl-application-with-express-nodejs/
* openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
* openssl rsa -in key.pem -out newkey.pem && mv newkey.pem key.pem
......
const test = require('tap').test
const Contact = require('../src/contact')
const Puppet = require('../src/puppet')
const log = require('npmlog')
// log.level = 'verbose'
const log = require('./npmlog-env')
Contact.attach(new Puppet())
......
......@@ -2,8 +2,8 @@ const test = require('tap').test
const Message = require('../src/message')
const Contact = require('../src/contact')
const Puppet = require('../src/puppet')
const log = require('npmlog')
// log.level = 'verbose'
const log = require('./npmlog-env')
Contact.attach(new Puppet())
......
......@@ -5,8 +5,7 @@ const Browser = require('../src/puppet-web-browser')
const Bridge = require('../src/puppet-web-bridge')
const PORT = 58788
const log = require('npmlog')
// log.level = 'silly'
const log = require('./npmlog-env')
test('Bridge retry-promise testing', function(t) {
co(function* () {
......
const co = require('co')
const test = require('tap').test
const log = require('../src/npmlog-env')
const Browser = require('../src/puppet-web-browser')
......
const https = require('https')
const test = require('tap').test
const co = require('co')
const log = require('npmlog')
//log.level = 'silly'
const log = require('./npmlog-env')
const PuppetWebServer = require('../src/puppet-web-server')
const PORT = 58788
......
......@@ -2,9 +2,7 @@ const test = require('tap').test
const Message = require('../src/message')
const Room = require('../src/room')
const Puppet = require('../src/puppet')
const log = require('npmlog')
//log.level = 'silly'
//log.enableColor()
const log = require('../src/npmlog-env')
Room.attach(new Puppet())
......
......@@ -3,9 +3,8 @@
const path = require('path')
const co = require('co')
const test = require('tap').test
const log = require('npmlog')
// log.level = 'verbose'
log.level = 'silly'
const log = require('../src/npmlog-env')
const WebDriver = require('selenium-webdriver')
const Browser = WebDriver.Browser
......
const test = require('tap').test
const log = require('./npmlog-env')
test('Wechaty Library', function(t) {
const Wechaty = require('../')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册