Allow HEAD requests on public files (#26047)

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

```release-note
NONE
```
This commit is contained in:
Agniva De Sarker 2024-02-01 09:18:44 +05:30 committed by GitHub
parent 8151c011d1
commit 547bcff064
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 1 deletions

View File

@ -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) {

View File

@ -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)