cgi

package
v1.21.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

パッケージcgiは、RFC 3875で指定されているCGI(Common Gateway Interface)を実装しています。

CGIを使用すると、各リクエストを処理するために新しいプロセスを起動することを意味しますが、 これは通常、長時間実行されるサーバーを使用するよりも効率が低いです。 このパッケージは、主に既存のシステムとの互換性を保つためのものです。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Request

func Request() (*http.Request, error)

Request は現在の環境で表される HTTP リクエストを返します。 この関数は、現在のプログラムが CGI 環境で実行されていることを前提としています。 適用される場合、返された Request の Body は取得されます。

func RequestFromMap

func RequestFromMap(params map[string]string) (*http.Request, error)

RequestFromMapはCGI変数からhttp.Requestを作成します。 返されたRequestのBodyフィールドは入力されません。

func Serve

func Serve(handler http.Handler) error

Serveは現在アクティブなCGIリクエストに提供されたHandlerを実行します。もし現在のCGI環境がない場合、エラーが返されます。提供されたハンドラーがnilの場合、http.DefaultServeMuxが使用されます。

Types

type Handler

type Handler struct {
	Path string
	Root string

	// DirはCGI実行可能ファイルの作業ディレクトリを指定します。
	// Dirが空の場合、Pathのベースディレクトリが使用されます。
	// Pathにベースディレクトリがない場合、現在の作業ディレクトリが使用されます。
	Dir string

	Env        []string
	InheritEnv []string
	Logger     *log.Logger
	Args       []string
	Stderr     io.Writer

	// PathLocationHandlerは、CGIプロセスが"/"で始まるLocationヘッダーの値を返す場合に、内部リダイレクトを処理するためのルートHTTP Handlerを指定します。これは、RFC 3875 § 6.3.2で指定されていますが、おそらくhttp.DefaultServeMuxになるでしょう。
	// もしnilの場合、ローカルURIパスを持つCGIレスポンスがクライアントに送信され、内部リダイレクトは行われません。
	PathLocationHandler http.Handler
}

HandlerはCGI環境でサブプロセス内で実行可能なプログラムです。

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL