diff --git a/.travis.yml b/.travis.yml index 55a0daa..bf49346 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ language: go go: - - 1.4 + - 1.5 + - tip before_install: - sudo apt-get update diff --git a/server/database_test.go b/server/database_test.go index eb8ef18..3b3cedf 100644 --- a/server/database_test.go +++ b/server/database_test.go @@ -42,7 +42,6 @@ func (s *DatabaseTestSuite) SetUpTest(c *C) { // set a jpeg image to gridfs defer testJpeg.Close() io.Copy(childFile, testJpeg) - childFile.Close() } diff --git a/server/image_test.go b/server/image_test.go index cfc1d20..80141cf 100644 --- a/server/image_test.go +++ b/server/image_test.go @@ -383,7 +383,7 @@ func (s *ImageTestSuite) TestResizeJpegImageFromGridFsCMYK(c *C) { c.Assert(err, IsNil) _, _, errResult := ResizeImageFromGridfs(testMongoPNG, &entry) - c.Assert(errResult, ErrorMatches, "unsupported JPEG feature: SOF has wrong length") + c.Assert(errResult, Equals, nil) } //TestFallbackToImageMagick diff --git a/server/server.go b/server/server.go index 4d49edb..9a23b09 100644 --- a/server/server.go +++ b/server/server.go @@ -266,11 +266,15 @@ func Deliver() int { return -1 } + var wrapperFunc func(http.Handler) http.Handler + if *newrelicKey != "" { agent := gorelic.NewAgent() agent.NewrelicLicense = *newrelicKey agent.NewrelicName = "Go image server" + agent.CollectHTTPStat = true agent.Run() + wrapperFunc = agent.WrapHTTPHandler } Connection.SetMode(mgo.Eventual, true) @@ -278,7 +282,12 @@ func Deliver() int { r := mux.NewRouter() r.HandleFunc("/", welcomeHandler) - r.Handle(serverRoute, VarsHandler(imageHandler)) + + if wrapperFunc != nil { + r.Handle(serverRoute, wrapperFunc(VarsHandler(imageHandler))) + } else { + r.Handle(serverRoute, VarsHandler(imageHandler)) + } http.Handle("/", r) diff --git a/server/server_test.go b/server/server_test.go index 60b766b..37df280 100644 --- a/server/server_test.go +++ b/server/server_test.go @@ -44,7 +44,7 @@ func (s *ServerTestSuite) SetUpTest(c *C) { c.Assert(openErr, IsNil) - c.Assert(testMongoFile.MD5(), Equals, "d5b390993a34a440891a6f20407f9dde") + c.Assert(testMongoFile.MD5(), Equals, "4838427937843516d983b30dce94fd43") } // TearDownTest removes the created test file. @@ -269,7 +269,7 @@ func (s *ServerTestSuite) TestimageHandlerImageCached(c *C) { responseWriter := NewResponseWriter(header, -1) r, _ := http.NewRequest("GET", "test-url", nil) - r.Header.Set("If-None-Match", "d5b390993a34a440891a6f20407f9dde") + r.Header.Set("If-None-Match", "4838427937843516d983b30dce94fd43") r.Header.Set("Cache-Control", fmt.Sprintf("max-age=%d", 1000)) r.Header.Set("If-Modified-Since", modified) @@ -305,10 +305,10 @@ func (s *ServerTestSuite) TestimageHandlerNotCachedParent(c *C) { // The default value of the responseWriterMock is -1 c.Assert(responseWriter.HeaderCode, Equals, -1) - c.Assert(responseWriter.Header().Get("Etag"), Equals, "d5b390993a34a440891a6f20407f9dde") + c.Assert(responseWriter.Header().Get("Etag"), Equals, "4838427937843516d983b30dce94fd43") hexMd5 := md5.Sum(responseWriter.Body) md5String := hex.EncodeToString(hexMd5[:16]) - c.Assert(md5String, Equals, "d5b390993a34a440891a6f20407f9dde") + c.Assert(md5String, Equals, "4838427937843516d983b30dce94fd43") }