code: func (g *GoHttpServer) Init(init *EngineInit) {
  	g.MaxMultipartSize = int64(Config.IntDefault("server.request.max.multipart.filesize", 32)) << 20 /* 32 MB */
  	g.goContextStack = utils.NewStackLock(Config.IntDefault("server.context.stack", 100),
  		Config.IntDefault("server.context.maxstack", 200),
  		func() interface{} {
  			return NewGoContext(g)
  		})
  	g.goMultipartFormStack = utils.NewStackLock(Config.IntDefault("server.form.stack", 100),
  		Config.IntDefault("server.form.maxstack", 200),
  		func() interface{} { return &GoMultipartForm{} })
  	g.ServerInit = init
  
  	revelHandler := http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
  		g.Handle(writer, request)
  	})
  
  	// Adds the mux list
  	g.HttpMuxList = init.HTTPMuxList
  	sort.Sort(g.HttpMuxList)
  	g.HasAppMux = len(g.HttpMuxList) > 0
  	g.signalChan = make(chan os.Signal)
  
  	g.Server = &http.Server{
  		Addr:         init.Address,
  		Handler:      revelHandler,
  		ReadTimeout:  time.Duration(Config.IntDefault("http.timeout.read", 0)) * time.Second,
  		WriteTimeout: time.Duration(Config.IntDefault("http.timeout.write", 0)) * time.Second,
  	}
  
  }
docs: // Called to initialize the server with this EngineInit