Help us shape the future of Go! Take the 2026 Go Developer Survey

namespace

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2019 License: MPL-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RootNamespaceID = "root"
)

Variables

View Source
var (
	ErrNoNamespace error      = errors.New("no namespace")
	RootNamespace  *Namespace = &Namespace{
		ID:   RootNamespaceID,
		Path: "",
	}
)

Functions

func Canonicalize

func Canonicalize(nsPath string) string

Canonicalize trims any prefix '/' and adds a trailing '/' to the provided string

func ContextWithNamespace

func ContextWithNamespace(ctx context.Context, ns *Namespace) context.Context

func RootContext

func RootContext(ctx context.Context) context.Context

func SplitIDFromString added in v0.11.2

func SplitIDFromString(input string) (string, string)

Types

type Namespace

type Namespace struct {
	ID   string `json:"id"`
	Path string `json:"path"`
}

func FromContext

func FromContext(ctx context.Context) (*Namespace, error)

This function caches the ns to avoid doing a .Value lookup over and over, because it's called a *lot* in the request critical path. .Value is concurrency-safe so uses some kind of locking/atomicity, but it should never be read before first write, plus we don't believe this will be called from different goroutines, so it should be safe.

func (*Namespace) HasParent

func (n *Namespace) HasParent(possibleParent *Namespace) bool

func (*Namespace) TrimmedPath

func (n *Namespace) TrimmedPath(path string) string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL