...
Run Format

Source file src/net/http/httptest/example_test.go

Documentation: net/http/httptest

  // Copyright 2013 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  package httptest_test
  
  import (
  	"fmt"
  	"io"
  	"io/ioutil"
  	"log"
  	"net/http"
  	"net/http/httptest"
  )
  
  func ExampleResponseRecorder() {
  	handler := func(w http.ResponseWriter, r *http.Request) {
  		io.WriteString(w, "<html><body>Hello World!</body></html>")
  	}
  
  	req := httptest.NewRequest("GET", "http://example.com/foo", nil)
  	w := httptest.NewRecorder()
  	handler(w, req)
  
  	resp := w.Result()
  	body, _ := ioutil.ReadAll(resp.Body)
  
  	fmt.Println(resp.StatusCode)
  	fmt.Println(resp.Header.Get("Content-Type"))
  	fmt.Println(string(body))
  
  	// Output:
  	// 200
  	// text/html; charset=utf-8
  	// <html><body>Hello World!</body></html>
  }
  
  func ExampleServer() {
  	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 ExampleNewTLSServer() {
  	ts := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  		fmt.Fprintln(w, "Hello, client")
  	}))
  	defer ts.Close()
  
  	client := ts.Client()
  	res, err := client.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
  }
  

View as plain text