接受图像标头请求

时间:2015-02-19 07:03:49

标签: http go http-headers

我写了一个路由功能,只接受图像请求。请查看以下代码。

// Add image route paths
func addImage(path string, handler httpImageFunc, name ...string) {
    //log.Println("Add image")
    if len(name) > 0 {
        router.Handle(path, httpImageFunc(handler)).
            Methods("GET").
            Headers("Accept", "image/*").
            Name(name[0])
    } else {
        router.Handle(path, httpImageFunc(handler)).
            Methods("GET").
            Headers("Accept", "image/*")
    }

}

如您所见,请求仅接受标题("接受","图像/ *")。 但Chrome浏览器发送带标题的请求

  

接受:图像/ WEBP, / 的; Q = 0.8

和firefox with

  

接受:图像/ PNG,图像/ ; Q = 0.8, / *; Q = 0.5

在这种情况下,当firefox和chrome发出图像请求时,它不会通过路由器。 我该怎么办,请求将通过?我使用gorilla mux作为路由器。

1 个答案:

答案 0 :(得分:1)

使用MatcherFunc并自行检查标题,以便匹配“image /".