Documentation

Overview

    Package httpmultibin is indended only for use in tests, do not import in production code!

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func GetTLSClientConfig

    func GetTLSClientConfig(t testing.TB, srv *httptest.Server) *tls.Config

      GetTLSClientConfig returns a TLS config that trusts the supplied httptest.Server certificate as well as all the system root certificates

      Types

      type GRPCStub

      type GRPCStub struct {
      	EmptyCallFunc func(context.Context, *grpctest.Empty) (*grpctest.Empty, error)
      	UnaryCallFunc func(context.Context, *grpctest.SimpleRequest) (*grpctest.SimpleResponse, error)
      }

        GRPCStub is an easily customisable TestServiceServer

        func (*GRPCStub) EmptyCall

        func (s *GRPCStub) EmptyCall(ctx context.Context, req *grpctest.Empty) (*grpctest.Empty, error)

          EmptyCall implements the interface for the gRPC TestServiceServer

          func (*GRPCStub) FullDuplexCall

            FullDuplexCall implements the interface for the gRPC TestServiceServer

            func (*GRPCStub) HalfDuplexCall

              HalfDuplexCall implements the interface for the gRPC TestServiceServer

              func (*GRPCStub) StreamingInputCall

                StreamingInputCall implements the interface for the gRPC TestServiceServer

                func (*GRPCStub) StreamingOutputCall

                  StreamingOutputCall implements the interface for the gRPC TestServiceServer

                  func (*GRPCStub) UnaryCall

                    UnaryCall implements the interface for the gRPC TestServiceServer

                    type HTTPMultiBin

                    type HTTPMultiBin struct {
                    	Mux             *http.ServeMux
                    	ServerHTTP      *httptest.Server
                    	ServerHTTPS     *httptest.Server
                    	ServerHTTP2     *httptest.Server
                    	ServerGRPC      *grpc.Server
                    	GRPCStub        *GRPCStub
                    	Replacer        *strings.Replacer
                    	TLSClientConfig *tls.Config
                    	Dialer          *netext.Dialer
                    	HTTPTransport   *http.Transport
                    	Context         context.Context
                    	Cleanup         func()
                    }

                      HTTPMultiBin can be used as a local alternative of httpbin.org. It offers both http and https servers, as well as real domains

                      func NewHTTPMultiBin

                      func NewHTTPMultiBin(t testing.TB) *HTTPMultiBin

                        NewHTTPMultiBin returns a fully configured and running HTTPMultiBin

                        Source Files