<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # package httptest `import "net/http/httptest"` httptest包提供了HTTP測試的常用函數。 ## Index * [Constants](#pkg-constants) * [type ResponseRecorder](#ResponseRecorder) * [func NewRecorder() \*ResponseRecorder](#NewRecorder) * [func (rw \*ResponseRecorder) Header() http.Header](#ResponseRecorder.Header) * [func (rw \*ResponseRecorder) WriteHeader(code int)](#ResponseRecorder.WriteHeader) * [func (rw \*ResponseRecorder) Write(buf []byte) (int, error)](#ResponseRecorder.Write) * [func (rw \*ResponseRecorder) Flush()](#ResponseRecorder.Flush) * [type Server](#Server) * [func NewServer(handler http.Handler) \*Server](#NewServer) * [func NewTLSServer(handler http.Handler) \*Server](#NewTLSServer) * [func NewUnstartedServer(handler http.Handler) \*Server](#NewUnstartedServer) * [func (s \*Server) Start()](#Server.Start) * [func (s \*Server) StartTLS()](#Server.StartTLS) * [func (s \*Server) CloseClientConnections()](#Server.CloseClientConnections) * [func (s \*Server) Close()](#Server.Close) ### Examples * [ResponseRecorder](#example-ResponseRecorder) * [Server](#example-Server) ## Constants ``` const DefaultRemoteAddr = "1.2.3.4" ``` DefaultRemoteAddr是默認的遠端地址。如果ResponseRecorder未顯式的設置該屬性,RemoteAddr方法就會返回該值。 ## type [ResponseRecorder](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/recorder.go?name=release#15 "View Source") ``` type ResponseRecorder struct { Code int // HTTP回復的狀態碼 HeaderMap http.Header // HTTP回復的頭域 Body *bytes.Buffer // 如非nil,會將Write方法寫入的數據寫入bytes.Buffer Flushed bool // 內含隱藏或非導出字段 } ``` ResponseRecorder實現了http.ResponseWriter接口,它記錄了其修改,用于之后的檢查。 Example ``` handler := func(w http.ResponseWriter, r *http.Request) { http.Error(w, "something failed", http.StatusInternalServerError) } req, err := http.NewRequest("GET", "http://example.com/foo", nil) if err != nil { log.Fatal(err) } w := httptest.NewRecorder() handler(w, req) fmt.Printf("%d - %s", w.Code, w.Body.String()) ``` Output: ``` 500 - something failed ``` ### func [NewRecorder](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/recorder.go?name=release#25 "View Source") ``` func NewRecorder() *ResponseRecorder ``` NewRecorder返回一個初始化了的ResponseRecorder. ### func (\*ResponseRecorder) [Header](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/recorder.go?name=release#38 "View Source") ``` func (rw *ResponseRecorder) Header() http.Header ``` Header返回回復的頭域,即Header字段。 ### func (\*ResponseRecorder) [WriteHeader](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/recorder.go?name=release#59 "View Source") ``` func (rw *ResponseRecorder) WriteHeader(code int) ``` WriteHeader設置rw.Code。 ### func (\*ResponseRecorder) [Write](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/recorder.go?name=release#48 "View Source") ``` func (rw *ResponseRecorder) Write(buf []byte) (int, error) ``` Write總是成功,如果rw.Body非nil會把數據寫入該字段。 ### func (\*ResponseRecorder) [Flush](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/recorder.go?name=release#67 "View Source") ``` func (rw *ResponseRecorder) Flush() ``` Flush將rw.Flushed設置為真。 ## type [Server](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#21 "View Source") ``` type Server struct { URL string // 格式為http://ipaddr:port,沒有末尾斜杠的基地址 Listener net.Listener // TLS是可選的TLS配置,在TLS開始后會填寫為新的配置。 // 如果在未啟動的Server調用StartTLS方法前設置,已經存在的字段會拷貝進新配置里。 TLS *tls.Config // Config可能會在調用Start/StartTLS方法之前調用NewUnstartedServer時被修改。 Config *http.Server // 內含隱藏或非導出字段 } ``` Server是一個HTTP服務端,在本地環回接口的某個系統選擇的端口監聽,用于點對點HTTP測試。 Example ``` ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello, client") })) defer ts.Close() res, err := http.Get(ts.URL) if err != nil { log.Fatal(err) } greeting, err := ioutil.ReadAll(res.Body) res.Body.Close() if err != nil { log.Fatal(err) } fmt.Printf("%s", greeting) ``` Output: ``` Hello, client ``` ### func [NewServer](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#82 "View Source") ``` func NewServer(handler http.Handler) *Server ``` NewServer返回一個新的、已啟動的Server。調用者必須在用完時調用Close方法關閉它。 ### func [NewTLSServer](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#158 "View Source") ``` func NewTLSServer(handler http.Handler) *Server ``` NewTLSServer返回一個新的、使用TLS的、已啟動的Server。調用者必須在用完時調用Close方法關閉它。 ### func [NewUnstartedServer](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#94 "View Source") ``` func NewUnstartedServer(handler http.Handler) *Server ``` NewUnstartedServer返回一個新的、未啟動的Server。在修改其配置后,調用者應該調用Start或StartTLS啟動它;調在用完時用者必須調用Close方法關閉它。 ### func (\*Server) [Start](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#102 "View Source") ``` func (s *Server) Start() ``` Start啟動NewUnstartedServer返回的服務端。 ### func (\*Server) [StartTLS](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#117 "View Source") ``` func (s *Server) StartTLS() ``` StartTLS啟動NewUnstartedServer函數返回的服務端的TLS監聽。 ### func (\*Server) [CloseClientConnections](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#177 "View Source") ``` func (s *Server) CloseClientConnections() ``` CloseClientConnections關閉當前任何與該服務端建立的HTTP連接。 ### func (\*Server) [Close](http://code.google.com/p/go/source/browse/src/pkg/net/http/httptest/server.go?name=release#166 "View Source") ``` func (s *Server) Close() ``` Close關閉服務端,并阻塞直到所有該服務端未完成的請求都結束為止。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看