November 2017
Intermediate to advanced
670 pages
17h 35m
English
We can skim the imports to get an idea of what we'll be doing in this file. We'll process some HTTP requests, marshal some JSON-converting strings to integers, handle errors, and implement a logger for our server:
package serverimport ( "encoding/json" "fmt" "github.com/pkg/errors" "log" "net/http" "os" "strconv")
We'll define three constants and use them when defining our default values:
const ( defaultServerMaxMessageSize = 1024 * 1024 * 4 defaultMaxNumber = 30 defaultMaxConcurrentConnections = 2)var defaultServerOptions = options { maxMessageSize: defaultServerMaxMessageSize, maxNumber: defaultMaxNumber, maxConcurrentConnections: defaultMaxConcurrentConnections,}
Our Server struct has three fields:
type Server struct ...