mirror of
https://github.com/dutchcoders/transfer.sh.git
synced 2024-12-27 04:40:19 +01:00
Add X-Url-Delete-* headers to POST handler (#435)
* Add X-Url-Delete-* headers to POST handler * Remove token from header * Fix writing of headers * Handle error returned by Write * Update handlers.go Co-authored-by: Andrea Spacca <andrea.spacca@gmail.com>
This commit is contained in:
parent
368431fb6b
commit
597554a59e
1 changed files with 10 additions and 1 deletions
|
@ -299,6 +299,8 @@ func (s *Server) postHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
w.Header().Set("Content-Type", "text/plain")
|
w.Header().Set("Content-Type", "text/plain")
|
||||||
|
|
||||||
|
responseBody := ""
|
||||||
|
|
||||||
for _, fheaders := range r.MultipartForm.File {
|
for _, fheaders := range r.MultipartForm.File {
|
||||||
for _, fheader := range fheaders {
|
for _, fheader := range fheaders {
|
||||||
filename := sanitize(fheader.Filename)
|
filename := sanitize(fheader.Filename)
|
||||||
|
@ -384,9 +386,16 @@ func (s *Server) postHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
filename = url.PathEscape(filename)
|
filename = url.PathEscape(filename)
|
||||||
relativeURL, _ := url.Parse(path.Join(s.proxyPath, token, filename))
|
relativeURL, _ := url.Parse(path.Join(s.proxyPath, token, filename))
|
||||||
_, _ = w.Write([]byte(getURL(r, s.proxyPort).ResolveReference(relativeURL).String()))
|
deleteURL, _ := url.Parse(path.Join(s.proxyPath, token, filename, metadata.DeletionToken))
|
||||||
|
w.Header().Add("X-Url-Delete", resolveURL(r, deleteURL, s.proxyPort))
|
||||||
|
responseBody += fmt.Sprintln(getURL(r, s.proxyPort).ResolveReference(relativeURL).String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
_, err := w.Write([]byte(responseBody))
|
||||||
|
if err != nil {
|
||||||
|
s.logger.Printf("%s", err.Error())
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) cleanTmpFile(f *os.File) {
|
func (s *Server) cleanTmpFile(f *os.File) {
|
||||||
|
|
Loading…
Reference in a new issue