// Create a new fasthttp server and configure it. // This does not run the server however. func NewServer(port int, maxMemory uint64, conf *config.ConfValues) (*fasthttp.Server, *MyHandler, net.Listener) { logging.Debug("Creating server") imageSource := ops.MakeImageSource() // Add roots // TODO: This must be externalized outside the source code. logging.Debug("Adding roots") if imageSource.AddRoot("/var/www") != nil { log.Fatal("Root not added /var/www") } if imageSource.AddRoot(".") != nil { log.Println("Root not added .") } logging.Debug("Reading server config") //setting default values watermarker, err := ops.MakeWatermarker(conf.Watermark) if err != nil { log.Printf("Error creating watermarker: %v\n", err.Error()) } // Configure handler logging.Debug("Configuring handler") handler := &MyHandler{ requests: 0, imageSource: imageSource, operator: operator.MakeDefault(maxMemory, "/tmp/RICdiskcache", conf.Server.Tokens), watermarker: watermarker, } // Configure server server := &fasthttp.Server{ Handler: handler.ServeHTTP, } logging.Debug("Beginning to listen") ln, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { log.Fatal("Error creating listener:" + err.Error()) } logging.Debug("Server ready") return server, handler, ln }
// A setup function for simple Operator tests. Creates a cache, operator that // uses the cache and ImageSource operation with current working dir as root. // Returns the operator and the source operation. func SetupOperatorSource() (o operator.Operator, src ops.ImageSource) { o = operator.MakeDefault(512*1024*1024, "/tmp/RIC_testimagecache", tokens) src = ops.MakeImageSource() src.AddRoot("./") return }