Skip to content

jenchik/mserv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mserv

Example

func main() {
    s := mserv.New(
        // pprof
        mserv.NewHTTPServer(time.Second, &http.Server{
            Addr:    ":8081",
            Handler: http.DefaultServeMux,
        }),
        // prometheus
        mserv.NewHTTPServer(time.Second, &http.Server{
            Addr:    ":8082",
            Handler: promhttp.Handler(),
        }),
        // gin
        mserv.NewHTTPServer(5*time.Second, &http.Server{
            Addr:         ":8083",
            Handler:      ginApp(),
            ReadTimeout:  10 * time.Second,
            WriteTimeout: 10 * time.Second,
        }),
        // echo
        mserv.NewHTTPServer(5*time.Second, &http.Server{
            Addr:         ":8084",
            Handler:      echoApp(),
            TLSConfig:    &tls.Config{ /**todo**/ },
            ReadTimeout:  5 * time.Second,
            WriteTimeout: 5 * time.Second,
        }),
        // grpc
        mserv.NewGRPCServer(":8085", grpcServer()),
    )

    // start all servers
    s.Start()
    // wait stop signal
    <-grace.ShutdownContext(context.Background()).Done()
    // graceful stop each server
    s.Stop()
}

full example here

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%