func (ms *Server) SetResponseHandler(handler func(r *http.Request) *http.Response) {
	ms.responseHandler = handler
}
SetResponseHandler set a handler to update reponse base on request info.
package mock
import (
	"bytes"
	"crypto/tls"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/http/httptest"
	"strings"
)
type Server struct {
	*httptest.Server
	responseHandler func(r *http.Request) *http.Response
}
func (ms *Server) SetResponse(resp *http.Response) {
	body, err := ioutil.ReadAll(resp.Body)
	defer resp.Body.Close()
	ms.responseHandler = func(r *http.Request) *http.Response {
		if err == nil {
			resp.Body = ioutil.NopCloser(bytes.NewBuffer(body))
		}
		return resp
	}
}