Fix callback URL rewrite
All checks were successful
Automated Container Build / build-and-push (push) Successful in 1m28s
All checks were successful
Automated Container Build / build-and-push (push) Successful in 1m28s
This commit is contained in:
parent
360cb5275a
commit
3e19cae267
2 changed files with 11 additions and 3 deletions
|
|
@ -6,6 +6,7 @@ import (
|
|||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"git.elijahkuntz.com/Elijah/drive/config"
|
||||
"git.elijahkuntz.com/Elijah/drive/middleware"
|
||||
|
|
@ -48,8 +49,15 @@ func (h *OnlyOfficeHandler) Callback(c *fiber.Ctx) error {
|
|||
return c.Status(400).JSON(fiber.Map{"error": "url required"})
|
||||
}
|
||||
|
||||
// If the server cannot resolve the public URL due to hairpin NAT,
|
||||
// we can rewrite it to use the internal Docker IP
|
||||
downloadUrl := req.Url
|
||||
if strings.HasPrefix(downloadUrl, "https://office.elijahkuntz.com") {
|
||||
downloadUrl = strings.Replace(downloadUrl, "https://office.elijahkuntz.com", "http://192.168.50.81:8084", 1)
|
||||
}
|
||||
|
||||
// Download modified file from Document Server
|
||||
resp, err := http.Get(req.Url)
|
||||
resp, err := http.Get(downloadUrl)
|
||||
if err != nil {
|
||||
return c.Status(500).JSON(fiber.Map{"error": "failed to download file"})
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue