A FastCGI client implementation in Node.js, mainly designed for cummunication with PHP.
Developing. Would be stable soon.
npm install fastcgi-client. Use require('fastcgi-client') to get a fastcgiConnector.
var client = fastcgiConnector(options) Create a FastCGI client. Available options:
hostThe server name or IP, default to '127.0.0.1'.portThe server port, default to 9000.sockFileConnect to php-fpm with sock file instead of 127.0.0.1:9000. If you set this option,hostandportwill be ignoredskipCheckServerSkip checking and getting options from the server.maxConnsThe default value of maximum concurrent connections to the server.maxReqsThe default value of maximum concurrent requests to the server.mpxsConnsThe default value of using concurrency over connections or not.- Event
readyClient is ready for accepting request. - Event
errorAn error occurred and returned as 1st argument of event handler.
client.request(params, cb) Create a new request.
params Should be FastCGI params (key-value pairs).
An error object would be passed to cb as 1st argument on failed (request not sent at all), otherwise a request argument is passed as 2nd argument.
The request object:
request.abort()Send an abort request. The request is not ended after the server responds.request.stdinThe writable stdin stream.request.stdoutThe readable stdout stream.request.stderrThe readable stderr stream.request.getExitStatus()Return exit code, or an error if not normally ended. It would be ready before theendevents of stdout and stderr streams.
You should have PHP-CGI installed and PHP5 FPM service running in 127.0.0.1:9000.
Then use npm test to test. Use npm run coverage to see the test coverage.
MIT