CHA-CGI(5) File Formats Manual CHA-CGI(5) (NAME) cha-cgi - CGI chawan CGI Chawan (Local CGI support in Chawan) Chawan CGI external.cgi-dir . $CHA_DIR/cgi-bin ( ~/.chawan/cgi-bin ~/.config/chawan/cgi-bin config.toml) /usr/local/libexec/chawan/cgi-bin . CGI cgi-bin:script-name . $PATH_INFO $QUERY_STRING cgi-bin:script-name/abcd?defgh=ijkl $PATH_INFO /abcd $QUERY_STRING defgh=ijkl . CGI: o (opaque) (scheme) . cgi-bin://script-name cgi-bin:script-name . o /cgi-bin/ /$LIB/ . cgi-bin:/cgi-bin/script-name cgi-bin:script-name . o external.w3m-cgi-compat true file: /cgi-bin/ /$LIB/ CGI cgi-bin: . : . o cgi-bin:/path/to/cgi/dir/script-name. /path/to/cgi/dir CGI external.cgi-dir . (Headers) CGI Chawan ( fetch API ): o Status: HTTP . o Cha-Control: . . Cha-Control: ControlDone . Cha-Control : Cha-Control-Value = Command *Parameter Command = ALPHA *ALPHA Parameter = SPACE *CHAR Command [Param1] [Param2] ... . : o Connected: . . Chawan Cha-Control: Connected . o ConnectionError: . . . : (truncate) . o ControlDone: Cha-Control Status ( fetch API ). : . HTTP Cha-Control: ControlDone . . CGI ( ) ConnectionError . o 1 InternalError: . CGI . o 2 InvalidMethod: . o 3 InvalidURL: . o 4 FileNotFound: . : - (P2P) . "no file found" 404 . o 5 ConnectionRefused: . o 6 ProxyRefusedToConnect: . o 7 FailedToResolveHost: (resolve) . o 8 FailedToResolveProxy: (resolve) . o 9 ProxyAuthFail: / . o 10 InvalidResponse: . o 11 ProxyInvalidResponse: . (Environment variables) Chawan : o SERVER_SOFTWARE="Chawan" o SERVER_PROTOCOL="HTTP/1.0" o SERVER_NAME="localhost" o SERVER_PORT="80" o REMOTE_HOST="localhost" o REMOTE_ADDR="127.0.0.1" o GATEWAY_INTERFACE="CGI/1.1" o SCRIPT_NAME="/cgi-bin/script-name" "/path/to/script/script-name" . o SCRIPT_FILENAME="/path/to/script/script-name" o QUERY_STRING= ( URL.search). (percent-encoded) . o PATH_INFO= cgi-bin:script-name/abcd/efgh "/abcd/efgh". . o REQUEST_URI="$SCRIPT_NAME/$PATH_INFO?$QUERY_STRING o REQUEST_METHOD= HTTP GET POST o REQUEST_HEADERS= . o CHA_LIBEXEC_DIR= libexec Chawan . . o CONTENT_TYPE= POST Content-Type. ( GET) . o CONTENT_LENGTH= $CONTENT_TYPE . o ALL_PROXY= . : . CGI ALL_PROXY . o HTTP_COOKIE= Cookie. o HTTP_REFERER= Referer. o CHA_TMP_DIR= . o CHA_DIR= . urimethodmap Chawan . . example://username:password@example.org:1234/path/name.html?example : o MAPPED_URI_SCHEME= example. o MAPPED_URI_USERNAME= username. . o MAPPED_URI_PASSWORD= password. . o MAPPED_URI_HOST= host.org. . ( : about:blank blank .) o MAPPED_URI_PORT= 1234. . ( CGI .) o MAPPED_URI_PATH= /path/name.html?example. . . o MAPPED_URI_QUERY= example. . . (fragment) . (Request body) . application/x-www-form-urlencoded multipart/form-data CONTENT_TYPE (multipart) (boundary) . (Tools) Chawan CGI . "$CHA_LIBEXEC_DIR"/[program] . : o urldec: . o urlenc: . (Troubleshooting) (stderr) ( M-cM-c). CGI . stderr /dev/null . "Failed to execute script" execl . CGI chmod +x /path/to/cgi/script . "invalid CGI path" . : cgi-bin://script-name cgi-bin:script-name . "CGI file not found" CGI . cgi-bin:/script-name ( cgi-bin:script-name) . external.cgi-dir . ~/src/chawan/target/release/bin/cha CGI /usr/local/libexec/chawan/cgi-bin . "failed to set up CGI script" pipe fork . (SEE ALSO) cha(1) cha-urimethodmap(5) CHA-CGI(5)