Documentation ¶
Index ¶
- Constants
- func EnsureLeadingSlash(dir string) string
- func EnsureTrailingSlash(dir string) string
- func GetFileURI(f vfs.File) string
- func GetLocationURI(l vfs.Location) string
- func PathToURI(p string) (string, error)
- func RemoveLeadingSlash(path string) string
- func RemoveTrailingSlash(path string) string
- func TouchCopy(writer io.Writer, reader io.Reader) error
- func TouchCopyBuffered(writer io.Writer, reader io.Reader, bufferSize int) error
- func UpdateLastModifiedByMoving(file vfs.File) error
- func ValidateAbsoluteFilePath(name string) error
- func ValidateAbsoluteLocationPath(name string) error
- func ValidatePrefix(prefix string) error
- func ValidateRelativeFilePath(name string) error
- func ValidateRelativeLocationPath(name string) error
- type Authority
- type UserInfo
Constants ¶
const ( // ErrBadAbsFilePath constant is returned when a file path is not absolute ErrBadAbsFilePath = "absolute file path is invalid - must include leading slash and may not include trailing slash" // ErrBadRelFilePath constant is returned when a file path is not relative ErrBadRelFilePath = "relative file path is invalid - may not include leading or trailing slashes" // ErrBadAbsLocationPath constant is returned when a file path is not absolute ErrBadAbsLocationPath = "absolute location path is invalid - must include leading and trailing slashes" // ErrBadRelLocationPath constant is returned when a file path is not relative ErrBadRelLocationPath = "relative location path is invalid - may not include leading slash but must include trailing slash" // ErrBadPrefix constant is returned when a prefix is not relative or ends in / or is empty ErrBadPrefix = "prefix is invalid - may not include leading or trailing slashes and may not be empty" // TouchCopyMinBufferSize min buffer size used in TouchCopyBuffered in bytes TouchCopyMinBufferSize = 262144 )
Variables ¶
This section is empty.
Functions ¶
func EnsureLeadingSlash ¶
EnsureLeadingSlash is like EnsureTrailingSlash except that it adds the leading slash if needed.
func EnsureTrailingSlash ¶
EnsureTrailingSlash is like AddTrailingSlash but will only ever use / since it's use for web uri's, never a Windows OS path.
func GetLocationURI ¶
func GetLocationURI(l vfs.Location) string
GetLocationURI returns a Location URI
func PathToURI ¶ added in v6.1.0
PathToURI takes a relative or absolute path and returns an OS URI. We assume non-scheme path is an OS File or Location. We assume volume(URI authority) is empty. We assume relative paths are relative to the pwd (program's working directory)
/absolute/path/to/file.txt : file:///absolute/path/to/file.txt /some/absolute/path/ : file:///absolute/path/ relative/path/to/file.txt : file:///absolute/path/with/relative/path/to/file.txt relative/path/ : file:///absolute/path/with/relative/path/
func RemoveLeadingSlash ¶
RemoveLeadingSlash removes leading slash, if any
func RemoveTrailingSlash ¶
RemoveTrailingSlash removes trailing slash, if any
func TouchCopy ¶
TouchCopy is a wrapper around io.Copy which ensures that even empty source files (reader) will get written as an empty file. It guarantees a Write() call on the target file. Deprecated: Use TouchCopyBuffer Instead
func TouchCopyBuffered ¶
TouchCopyBuffered is a wrapper around io.CopyBuffer which ensures that even empty source files (reader) will get written as an empty file. It guarantees a Write() call on the target file. bufferSize is in bytes and if is less than TouchCopyMinBufferSize will result in a buffer of size TouchCopyMinBufferSize bytes. If bufferSize is > TouchCopyMinBufferSize it will result in a buffer of size bufferSize bytes
func UpdateLastModifiedByMoving ¶
func UpdateLastModifiedByMoving(file vfs.File) error
UpdateLastModifiedByMoving is used by some backends' Touch() method when a file already exists.
func ValidateAbsoluteFilePath ¶
ValidateAbsoluteFilePath ensures that a file path has a leading slash but not a trailing slash
func ValidateAbsoluteLocationPath ¶
ValidateAbsoluteLocationPath ensure that a file path has both leading and trailing slashes
func ValidatePrefix ¶ added in v6.8.0
ValidatePrefix ensures that a prefix path has neither leading nor trailing slashes may not be empty but unlike relative file path, *may* be simply "."
func ValidateRelativeFilePath ¶
ValidateRelativeFilePath ensures that a file path has neither leading nor trailing slashes
func ValidateRelativeLocationPath ¶
ValidateRelativeLocationPath ensure that a file path has no leading slash but has a trailing slash
Types ¶
type Authority ¶
type Authority struct {
// contains filtered or unexported fields
}
Authority represents host, port and userinfo (user/pass) in a URI
func NewAuthority ¶
NewAuthority initializes Authority struct by parsing authority string.
func (Authority) HostPortStr ¶ added in v6.8.0
HostPortStr returns a concatenated string of host and port from authority, separated by a colon, ie "host.com:1234"
func (Authority) String ¶
String() returns a string representation of authority. It does not include password per https://tools.ietf.org/html/rfc3986#section-3.2.1
Applications should not render as clear text any data after the first colon (":") character found within a userinfo subcomponent unless the data after the colon is the empty string (indicating no password).