mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 14:25:53 +01:00
Fix building URLs with escaped slashes
This commit is contained in:
parent
1bb3414bc5
commit
ea59176c9e
2 changed files with 8 additions and 11 deletions
17
client.go
17
client.go
|
|
@ -12,7 +12,6 @@ import (
|
|||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"path"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
|
|
@ -143,22 +142,20 @@ func (cli *Client) BuildBaseURL(urlPath ...interface{}) string {
|
|||
parts := make([]string, len(urlPath)+1)
|
||||
parts[0] = hsURL.Path
|
||||
for i, part := range urlPath {
|
||||
var partStr string
|
||||
switch casted := part.(type) {
|
||||
case string:
|
||||
partStr = casted
|
||||
parts[i+1] = casted
|
||||
case int:
|
||||
partStr = strconv.Itoa(casted)
|
||||
parts[i+1] = strconv.Itoa(casted)
|
||||
case Stringifiable:
|
||||
partStr = casted.String()
|
||||
parts[i+1] = casted.String()
|
||||
default:
|
||||
partStr = fmt.Sprint(casted)
|
||||
parts[i+1] = fmt.Sprint(casted)
|
||||
}
|
||||
parts[i+1] = strings.Replace(partStr, "/", "%2F", -1)
|
||||
rawParts[i+1] = url.PathEscape(partStr)
|
||||
rawParts[i+1] = url.PathEscape(parts[i+1])
|
||||
}
|
||||
hsURL.Path = path.Join(parts...)
|
||||
hsURL.RawPath = path.Join(rawParts...)
|
||||
hsURL.Path = strings.Join(parts, "/")
|
||||
hsURL.RawPath = strings.Join(rawParts, "/")
|
||||
query := hsURL.Query()
|
||||
if cli.AppServiceUserID != "" {
|
||||
query.Set("user_id", string(cli.AppServiceUserID))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
package mautrix
|
||||
|
||||
const Version = "v0.5.6"
|
||||
const Version = "v0.5.7"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue