Allow HEAD requests on public files (#26047)

Fixes https://github.com/mattermost/mattermost/issues/25666

```release-note
NONE
```
Этот коммит содержится в:
Agniva De Sarker
2024-02-01 09:18:44 +05:30
коммит произвёл GitHub
родитель 8151c011d1
Коммит 547bcff064
2 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@@ -41,7 +41,7 @@ func (api *API) InitFile() {
api.BaseRoutes.Team.Handle("/files/search", api.APISessionRequiredDisableWhenBusy(searchFiles)).Methods("POST")
api.BaseRoutes.PublicFile.Handle("", api.APIHandler(getPublicFile)).Methods("GET")
api.BaseRoutes.PublicFile.Handle("", api.APIHandler(getPublicFile)).Methods("GET", "HEAD")
}
func parseMultipartRequestHeader(req *http.Request) (boundary string, err error) {

Просмотреть файл

@@ -1086,6 +1086,10 @@ func TestGetPublicFile(t *testing.T) {
require.NoError(t, err)
require.Equal(t, http.StatusOK, resp.StatusCode, "failed to get image with public link")
resp, err = http.Head(link)
require.NoError(t, err)
require.Equal(t, http.StatusOK, resp.StatusCode, "failed to respond to HEAD request")
resp, err = http.Get(link[:strings.LastIndex(link, "?")])
require.NoError(t, err)
require.Equal(t, http.StatusBadRequest, resp.StatusCode, "should've failed to get image with public link without hash", resp.Status)