HTTP/1.1 をサポートする CGI スクリプトをホストするための最小限の依存関係のないラッパー。 MITライセンスに基づいてリリースされています。
cgi-core
の最新の安定バージョンをインストールします。
npm インストール cgi-core
次に、CGI サーバーを起動します。
npx cgi-server --filePath ./cgi-bin
cgi-core
を使用して CGI サーバーをセットアップする方法の例を次に示します。
import { createServer } from "node:http";import { createHandler } from "cgi-core";// URL パスで CGI リクエストを処理する http サーバーを作成します /cgi-binconst handler = createHandler({ URLパス: "/cgi-bin", ファイルパス: "./cgi-bin", 拡張子: {"/usr/bin/perl": ["pl", "cgi"],"/usr/bin/python": ["py"],"/usr/local/bin/node": [" js"、"ノード"]、 }、 debugOutput: false,});const app = createServer(async (req, res) => { const requestHandled = ハンドラー待ち(req, res); if (!requestHandled) {// ここで、urlPath の外側のルーティングを処理します === '/cgi-bin'res.writeHead(200, { "Content-Type": "text/plain" });res.end( "urlPath の外側"); }});app.listen(3000);
Expressを使用した使用例。
ルーティングのベース URL。デフォルト: '/cgi-bin'
CGI スクリプトが配置されているファイル パス。 filePath
の値を設定することを強くお勧めします (例: './cgi-bin')。デフォルト: process.cwd()
指定されたインタープリタ パスのファイル拡張子の値を含むオブジェクト。ファイル拡張子のインタープリタ パスが見つからない場合、CGI スクリプトはスタンドアロンの実行可能ファイルとして呼び出されます。デフォルト:
// POSIX システムの場合{ "/usr/bin/perl": ["pl", "cgi"], "/usr/bin/python": ["py"], "/usr/local/bin/node": ["js", "node"]}// Windows システムの場合{ "perl": ["pl", "cgi"], "python": ["py"], "ノード": ["js", "ノード"]}
任意のディレクトリでインデックス CGI スクリプトを検索するためのファイル拡張子。デフォルト: 'js'
デバッグ出力を有効にするには true を設定します。デフォルト: false
HTTP 要求ログを STDOUT に出力するには、true を設定します。デフォルト: false
許可される HTTP リクエストとレスポンスのペイロードのサイズ (バイト単位)。デフォルト: 2 * 1024 * 1024
(2 MB)
HTTP リクエストのペイロード データ チャンクのサイズ (バイト単位)。デフォルト: 16 * 1024
(16 KB)
HTTP 応答ペイロード データ チャンクのサイズ (バイト単位)。デフォルト: 16 * 1024
(16 KB)
ステータス コードごとのカスタム HTTP 応答ペイロードを含むオブジェクト。デフォルト: {}
// 例:{ 404: {content: ` 404: ファイルが見つかりません `,contentType: "text/html" }、 500: {content: ` 500: 内部サーバー エラー `、contentType: "text/html" }}
CGI スクリプトに渡すカスタム環境変数を含むオブジェクト。デフォルト: {}
// 例:{ SERVER_ADMIN: "[email protected]", ANOTHER_VAR: "別の値"}
コマンドcgi-server
使用すると、CGI スクリプトを提供する HTTP サーバーを実行できます。
npx cgi-server --port 3001 --urlPath /cgi-bin --filePath ./cgi-bin
-h, --help Display help --urlPathSet base url path for routing --filePath Set file path where the CGI scripts are located --indexExtension Set file extension to lookup for index files -d, --debugOutput Output errors for HTTP status 500 -l, --logRequests Log HTTP requests to STDOUT -p, --port Set the port to listen on
標準の HTTP 関連変数に加えて、次の CGI 環境変数がサポートされています。
CONTENT_LENGTH CONTENT_TYPE PATH PATH_INFO SCRIPT_FILENAME SCRIPT_NAME SERVER_PROTOCOL SERVER_SOFTWARE QUERY_STRING REQUEST_METHOD REQUEST_URI
cgi-core
MIT ライセンスに基づいてリリースされています。
完全無料: cgi-core
プロプライエタリ プロジェクトとオープンソース プロジェクトの両方で自由に使用できます。
帰属表示が必要です:配布されるコードには作成者の名前とライセンス情報を保持する必要があります。これらの項目はユーザー向けである必要はなく、コードベース内に残すことができます。