github.com/0chain/gosdk@v1.17.11/dev/server.go (about)

     1  // Providers tools for local development - do not use.
     2  package dev
     3  
     4  import (
     5  	"net/http/httptest"
     6  
     7  	"github.com/0chain/gosdk/dev/blobber"
     8  	"github.com/0chain/gosdk/dev/mock"
     9  	"github.com/gorilla/mux"
    10  )
    11  
    12  // Server a local dev server to mock server APIs
    13  type Server struct {
    14  	*httptest.Server
    15  	*mux.Router
    16  }
    17  
    18  // NewServer create a local dev server
    19  func NewServer() *Server {
    20  	router := mux.NewRouter()
    21  	s := &Server{
    22  		Router: router,
    23  		Server: httptest.NewServer(router),
    24  	}
    25  
    26  	return s
    27  }
    28  
    29  // NewBlobberServer create a local dev blobber server
    30  func NewBlobberServer(m mock.ResponseMap) *Server {
    31  	s := NewServer()
    32  
    33  	blobber.RegisterHandlers(s.Router, m)
    34  
    35  	return s
    36  }