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 독점 프로젝트와 오픈 소스 프로젝트 모두에서 자유롭게 사용할 수 있습니다.
저작자 표시가 필요합니다. 배포된 코드에 작성자 이름과 라이선스 정보를 유지해야 합니다. 이러한 항목은 사용자에게 표시될 필요가 없으며 코드베이스 내에 남아 있을 수 있습니다.