Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 1.18 KB

README.md

File metadata and controls

30 lines (20 loc) · 1.18 KB

go-asyncserver

Build Status GoDoc MIT License

This package provides an extremely simple HTTP server that runs asynchronously.

Although Go provides http.ListenAndServe(), this method blocks indefinitely. Worse yet, http.Server doesn't provide a simple method for stopping the server. The need for go-asyncserver arose from these problems.

Example

The following example demonstrates the creation of a simple asynchronous HTTP server:

import "github.com/hectane/go-asyncserver"

// "0" instructs the OS to select a free port
s := server.New(":0")

// The server doesn't actually begin accepting connections
// until the Start() method is called
if err := s.Start(); err != nil {
    panic(err)
}

// The server will now accept connections at s.Addr
// ...do stuff here...

// Stop the server
s.Stop()