Agent

Agent

Singleton instance in Agent Worker, extend EggApplication

Constructor

new Agent(options)

Parameters:
Name Type Description
options Object

see EggApplication

Source:

Extends

Members

coreLogger :Logger

core logger for framework and plugins, log file is $HOME/logs/{appname}/egg-web

Since:
  • 1.0.0
Inherited From:
Source:

env

app.env delegate app.config.env

Inherited From:
Deprecated:
  • Yes
Source:

httpclient :HttpClient

HttpClient instance

Inherited From:
Source:
See:

logger :Logger

application logger, log file is $HOME/logs/{appname}/{appname}-web

Since:
  • 1.0.0
Inherited From:
Source:

loggers :Object

All loggers contain logger, coreLogger and customLogger

Since:
  • 1.0.0
Inherited From:
Source:

messenger :Messenger

messenger instance

Since:
  • 1.0.0
Inherited From:
Source:

proxy

app.proxy delegate app.config.proxy

Inherited From:
Deprecated:
  • Yes
Source:

Methods

addSingleton(name, create)

create a singleton instance

Parameters:
Name Type Description
name String

unique name for singleton

create Object

method will be invoked when singleton instance create

Inherited From:
Source:

cluster(clientClass, optionsopt) → {ClientWrapper}

almost the same as Agent.cluster API, the only different is that this method create Follower.

Parameters:
Name Type Description
clientClass function

client class function

[ options ] Object
  • {Boolean} [autoGenerate] - whether generate delegate rule automatically, default is true
    • {Function} [formatKey] - a method to tranform the subscription info into a stringļ¼Œdefault is JSON.stringify
    • {Object} [transcode|JSON.stringify/parse]
      • {Function} encode - custom serialize method
      • {Function} decode - custom deserialize method
    • {Boolean} [isBroadcast] - whether broadcast subscrption result to all followers or just one, default is true
    • {Number} [responseTimeout] - response timeout, default is 3 seconds
    • {Number} [maxWaitTime|30000] - leader startup max time, default is 30 seconds
Inherited From:
Source:
See:

curl(url, opts) → {Object}

http request helper base on httpclient, it will auto save httpclient log. Keep the same api with httpclient.request(url, args).

See https://github.com/node-modules/urllib#api-doc for more details.

Parameters:
Name Type Description
url String

request url address.

opts Object
  • method {String} - Request method, defaults to GET. Could be GET, POST, DELETE or PUT. Alias 'type'.
  • data {Object} - Data to be sent. Will be stringify automatically.
  • dataType {String} - String - Type of response data. Could be text or json. If it's text, the callbacked data would be a String. If it's json, the data of callback would be a parsed JSON Object. Default callbacked data would be a Buffer.
  • headers {Object} - Request headers.
  • timeout {Number} - Request timeout in milliseconds. Defaults to exports.TIMEOUT. Include remote server connecting timeout and response timeout. When timeout happen, will return ConnectionTimeout or ResponseTimeout.
  • auth {String} - username:password used in HTTP Basic Authorization.
  • followRedirect {Boolean} - follow HTTP 3xx responses as redirects. defaults to false.
  • gzip {Boolean} - let you get the res object when request connected, default false. alias customResponse
Inherited From:
Source:
Example
```js
const result = yield app.curl('http://example.com/foo.json', {
  method: 'GET',
  dataType: 'json',
});
console.log(result.status, result.headers, result.data);
```

getLogger(name) → {Logger}

Get logger by name, it's equal to app.loggers['name'], but you can extend it with your own logical.

Parameters:
Name Type Description
name String

logger name

Inherited From:
Source:

inspect() → {Object}

print the infomation when console.log(app)

Since:
  • 1.0.0
Inherited From:
Source:
Example
```js
console.log(app);
=>
{
  name: 'mockapp',
  env: 'test',
  subdomainOffset: 2,
  config: '<egg config>',
  controller: '<egg controller>',
  service: '<egg service>',
  middlewares: '<egg middlewares>',
  urllib: '<egg urllib>',
  loggers: '<egg loggers>'
}
```