Skip to content

A FastCGI client implementation in Node.js, mostly designed for cummunication with PHP.

Notifications You must be signed in to change notification settings

LastLeaf/node-fastcgi-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-fastcgi-client

A FastCGI client implementation in Node.js, mainly designed for communication with PHP.

Development Status

Not actively developing, and I have been away from PHP projects since 2018.

However, there are still some issues and pull requests from many developers, so I decide not to archive this repo.

Also, I believe it is a small and stable protocol, and it can still work for many years.

API

npm install fastcgi-client. Use require('fastcgi-client') to get a fastcgiConnector.

var client = fastcgiConnector(options) Create a FastCGI client. Available options:

  • host The server name or IP, default to '127.0.0.1'.
  • port The server port, default to 9000.
  • sockFile Connect to php-fpm with sock file instead of 127.0.0.1:9000. If you set this option, host and port will be ignored
  • skipCheckServer Skip checking and getting options from the server.
  • maxConns The default value of maximum concurrent connections to the server.
  • maxReqs The default value of maximum concurrent requests to the server.
  • mpxsConns The default value of using concurrency over connections or not.
  • Event ready Client is ready for accepting request.
  • Event error An 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.stdin The writable stdin stream.
  • request.stdout The readable stdout stream.
  • request.stderr The readable stderr stream.
  • request.getExitStatus() Return exit code, or an error if not normally ended. It would be ready before the end events of stdout and stderr streams.

test

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.

LICENSE

MIT

About

A FastCGI client implementation in Node.js, mostly designed for cummunication with PHP.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published