mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-24 10:46:10 +01:00
ca46385637
* Use PathUnescape instead of QueryUnescape when working with branch names Currently branch names with a '+' fail in certain situations because QueryUnescape replaces the + character with a blank space. Using PathUnescape should be better since it is defined as: // PathUnescape is identical to QueryUnescape except that it does not // unescape '+' to ' ' (space). Fixes #6333 * Change error to match new function name * Add new util function PathEscapeSegments This function simply runs PathEscape on each segment of a path without touching the forward slash itself. We want to use this instead of PathEscape/QueryEscape in most cases because a forward slash is a valid name for a branch etc... and we don't want that escaped in a URL. Putting this in new file url.go and also moving a couple similar functions into that file as well. * Use EscapePathSegments where appropriate Replace various uses of EscapePath/EscapeQuery with new EscapePathSegments. Also remove uncessary uses of various escape/unescape functions when the text had already been escaped or was not escaped. * Reformat comment to make drone build happy * Remove no longer used url library * Requested code changes
66 lines
1.3 KiB
Go
66 lines
1.3 KiB
Go
// Copyright 2017 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package util
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
// OptionalBool a boolean that can be "null"
|
|
type OptionalBool byte
|
|
|
|
const (
|
|
// OptionalBoolNone a "null" boolean value
|
|
OptionalBoolNone = iota
|
|
// OptionalBoolTrue a "true" boolean value
|
|
OptionalBoolTrue
|
|
// OptionalBoolFalse a "false" boolean value
|
|
OptionalBoolFalse
|
|
)
|
|
|
|
// IsTrue return true if equal to OptionalBoolTrue
|
|
func (o OptionalBool) IsTrue() bool {
|
|
return o == OptionalBoolTrue
|
|
}
|
|
|
|
// IsFalse return true if equal to OptionalBoolFalse
|
|
func (o OptionalBool) IsFalse() bool {
|
|
return o == OptionalBoolFalse
|
|
}
|
|
|
|
// IsNone return true if equal to OptionalBoolNone
|
|
func (o OptionalBool) IsNone() bool {
|
|
return o == OptionalBoolNone
|
|
}
|
|
|
|
// OptionalBoolOf get the corresponding OptionalBool of a bool
|
|
func OptionalBoolOf(b bool) OptionalBool {
|
|
if b {
|
|
return OptionalBoolTrue
|
|
}
|
|
return OptionalBoolFalse
|
|
}
|
|
|
|
// Max max of two ints
|
|
func Max(a, b int) int {
|
|
if a < b {
|
|
return b
|
|
}
|
|
return a
|
|
}
|
|
|
|
// Min min of two ints
|
|
func Min(a, b int) int {
|
|
if a > b {
|
|
return b
|
|
}
|
|
return a
|
|
}
|
|
|
|
// IsEmptyString checks if the provided string is empty
|
|
func IsEmptyString(s string) bool {
|
|
return len(strings.TrimSpace(s)) == 0
|
|
}
|