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-binconst handler = createHandler({ 아래에서 CGI 요청을 처리하는 http 서버를 생성합니다. 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 시스템의 경우{ "펄": ["pl", "cgi"], "python": ["py"], "노드": ["js", "노드"]}
특정 디렉토리에서 인덱스 CGI 스크립트를 검색하기 위한 파일 확장자입니다. 기본값: 'js'
디버그 출력을 활성화하려면 true로 설정하세요. 기본값: false
HTTP 요청 로그를 STDOUT으로 인쇄하려면 true를 설정하십시오. 기본값: false
허용되는 HTTP 요청 및 응답 페이로드의 크기(바이트)입니다. 기본값: 2 * 1024 * 1024
(2MB)
HTTP 요청 페이로드 데이터 청크의 크기(바이트)입니다. 기본값: 16 * 1024
(16KB)
HTTP 응답 페이로드 데이터 청크의 크기(바이트)입니다. 기본값: 16 * 1024
(16KB)
상태 코드당 맞춤 HTTP 응답 페이로드가 포함된 개체입니다. 기본: {}
// 예:{ 404: {content: `<html> <body>404: 파일을 찾을 수 없음</body> </html>`,contentType: "text/html" }, 500: {content: `<html> <body>500: 내부 서버 오류</body> </html>`,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 --urlPath <urlPath> Set base url path for routing --filePath <filePath> Set file path where the CGI scripts are located --indexExtension <extension> 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 <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 라이센스에 따라 출시됩니다.
100% 무료: cgi-core
독점 프로젝트와 오픈 소스 프로젝트 모두에서 자유롭게 사용할 수 있습니다.
저작자 표시가 필요합니다. 배포된 코드에 작성자 이름과 라이선스 정보를 유지해야 합니다. 이러한 항목은 사용자에게 표시될 필요가 없으며 코드베이스 내에 남아 있을 수 있습니다.