mirror of
https://github.com/documize/community.git
synced 2025-08-04 13:05:23 +02:00
29 lines
588 B
Go
29 lines
588 B
Go
|
package cas
|
||
|
|
||
|
import (
|
||
|
"net/url"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
urlCleanParameters = []string{"gateway", "renew", "service", "ticket"}
|
||
|
)
|
||
|
|
||
|
// sanitisedURL cleans a URL of CAS specific parameters
|
||
|
func sanitisedURL(unclean *url.URL) *url.URL {
|
||
|
// Shouldn't be any errors parsing an existing *url.URL
|
||
|
u, _ := url.Parse(unclean.String())
|
||
|
q := u.Query()
|
||
|
|
||
|
for _, param := range urlCleanParameters {
|
||
|
q.Del(param)
|
||
|
}
|
||
|
|
||
|
u.RawQuery = q.Encode()
|
||
|
return u
|
||
|
}
|
||
|
|
||
|
// sanitisedURLString cleans a URL and returns its string value
|
||
|
func sanitisedURLString(unclean *url.URL) string {
|
||
|
return sanitisedURL(unclean).String()
|
||
|
}
|