...

パッケージ cgi

import "net/http/cgi"
概要
目次

概要 ▾

cgi パッケージは RFC 3875 で定義された CGI (Common Gateway Interface) を実装します。

CGI を使用することは各リクエストを処理するために新しいプロセスを開始することを意味することに注意してください。 これは通常,長時間稼働するサーバーを使用するよりも非効率的です。 このパッケージは主に既存のシステムとの互換性を目的としています。

func Request

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

Request は,現在の環境で表される HTTP リクエストを返します。 これは,現在のプログラムが CGI 環境の Web サーバーによって実行されていることを前提としています。 該当する場合は,返されたリクエストのボディが移入されます。

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 環境が存在しない場合はエラーが返されます。 渡されたハンドラは, http.DefaultServeMux を使用するために nil かもしれません。

type Handler

Handler は, CGI 環境のサブプロセスで実行可能ファイルを実行します。

type Handler struct {
    Path string // CGI 実行可能ファイルへのパス
    Root string // ハンドラのルート URI プレフィックス,または "/" の場合は空

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

    Env        []string    // 存在する場合, "key=value" として設定する追加の環境変数
    InheritEnv []string    // " キー " としてホストから継承する環境変数
    Logger     *log.Logger // エラーの場合はオプションのログ, log.Print を使用する場合は nil
    Args       []string    // 子プロセスに渡すオプションの引数
    Stderr     io.Writer   // 子プロセスのオプションの標準エラー出力。 nil は os.Stderr を意味します; added in Go 1.7

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

func (*Handler) ServeHTTP

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