Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
APACHE-2.0 License
Bot releases are hidden (Show)
Published by evantahler over 10 years ago
connection.id
for web connections is no longer just the cookie/fingerprint. We now append a random id to avoid collisions from the same user doing more than one action
connection.rawConnection.fingerprint
has been added to web connections, which will be the same from all clients.connection.id
by "-"
, and the first portion will match the fingerprintasync
package updated to v7.0.0actionhero now uses the Apache open source license.
Published by evantahler over 10 years ago
connection.disconnect()
internallyconnection.disconnect()
and remove the connection from any rooms and api.connections.connection
_start
ed before those in your actionhero projectPublished by evantahler over 10 years ago
Changed the options in api.config.redi
s from fake: true
to package: 'fakeredis'
. This way, you can select from an redis client, including those which are sentinel-aware. Examples provided within generated redis.conf
If in your action you have a situation where you might have called next(connection, true)
more than once, actionhero will now prevent the client from being messages twice, and the server will log an error about this.
Published by evantahler over 10 years ago
fakeredis=true
v0.6.x
v0.5.2
Published by evantahler over 10 years ago
api.config.servers.web.padding
Published by evantahler over 10 years ago
@rwatler has fixed a load-order problem with the new config system where config-a.js
would rely on a not-yet-loaded config-b.js
Published by evantahler over 10 years ago
You didn't think a major version would be perfect the first time, did you?
function
. You can modify this in an initializer to update the behavior of the public directory for static files.Published by evantahler over 10 years ago
actionhero V8.0.0 brings the launch of a plugin system for you to share common code between projects and release those packages on npm! This new wiki page has all the details. This will allow us to release common utilities for actionhero, like a redis session manger package or a mongo/mysql ORM collection.
To aid in the creation of plugins, actionhero has changed its configuration system to be more modular, and separated the monolithic config.js
to smaller config files per section. Rather than have a directory of environment overrides to the default config, this is now done in each file.
api.config.general.paths
collection is now listed as Arrays rather than individual strings. This means you can have multiple locations for actions, tasks, etc.enabled: true
and enabled: false
within their individual configuration files located in /config/servers
.ACTIONHERO_CONFIG
, if used, should now reflect a path, not a fileconfig
, if used, should now reflect a path, not a fileapi.utils.hashMerge
will now execute any element of a hash which is an function when merging
api.utils.hashMerge
can now accept a third argument, arg
, which will be passed to any key which is a function as it is resolvedapi.utils.recusiveDirecotryGlob
which will locate all matching files (.js), including sub-directories.Published by evantahler over 10 years ago
actionhero
is installed globallyPublished by evantahler over 10 years ago
allows actionhero to resolve symlinks which change under a running process
Published by evantahler over 10 years ago
api._commands
renamed to api.commands
api.watchFileAndAct
will handle clearing node's require.cache
automaticallyoptionalDependencies
package.json
config.general.filterParameters
defined properly in config.js
and template projects (@omichowdhury)Published by evantahler over 10 years ago
connections.params
until the actionProcessor
application/json
curl -X POST -H "Content-Type: application/json" -d '[{"email":"[email protected]","timestamp":1337197600,"smtp-id":"[email protected]","event":"processed"},{"email":"[email protected]","timestamp":1337966815,"smtp-id":"[email protected]","category":"newuser","event":"clicked"},{"email":"[email protected]","timestamp":1337969592,"smtp-id":"[email protected]","event":"processed"}]' http://localhost:8080/api/sendgrid
Transfer-encoding: Chunked
header. All requests will only have a Content-length
header.startCluster
will now be simpler, IE: actionhero-worker-1
, actionhero-worker-2
, etcPublished by evantahler over 10 years ago
api.exceptionHandlers.reporters
is an array that contains all the error reporters. Upon an uncaught exception from an error or task, all the reporters in the array will be invoked with (type, err, extraMessages, severity)
. You can remove the default sdtout
reporter by setting api.exceptionHandlers.reporters = [];
As an example, here is the default stdout
logger:
var consoleReporter = function(type, err, extraMessages, severity){
for(var i in extraMessages){
var line = extraMessages[i];
api.log(line, severity);
}
var lines = err.stack.split(os.EOL);
for(var i in lines){
var line = lines[i];
api.log('! ' + line, severity);
}
api.log('*', severity);
}
api.exceptionHandlers.reporters.push(consoleReporter);
Published by evantahler over 10 years ago
curl -X POST -d '{"thing": "fromBody"}' "http://api.com/api"
Published by evantahler over 10 years ago
actionhero generate
) new projects will not be created with a task exampleconfig.js
to be user configurablePublished by evantahler over 10 years ago
specHelper
might loop forever (until mocha's timeout)toRender
in specHelperPublished by evantahler over 10 years ago
api.config.servers.web.directoryFileType
to api.config.general.directoryFileType
to help thisPublished by evantahler almost 11 years ago
In order to satisfy NPM's requirement that all packages be named in lowercase, all new versions of actionhero, starting with v7.6.0 will be named actionhero
. actionhero was fortunate enough to be "grandfathered" into NPM's naming conventions, but stricter requirements on new versions of NPM will require a lowercase name.
In order to not break compatibility with existing projects, both actionHero
(old) and actionhero
will be up in the NPM repository for a few months. CHANGE YOUR PROJECTS NOW, as the old actionHero
project will be deleted in the near future.
actionhero
is now the name of the node binaryactionheroClient
is now the name of the frontend JS client, and it is included with actionheroClient.js
Published by evantahler almost 11 years ago
input
hashapi.config.general.disableParamScrubbing
is now in config.json
to control this_stop()
. The method was previously named teardown()