uritemplates

package
v2.4.1 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2022 License: Apache-2.0, BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Overview

Package uritemplates is a level 4 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).

To use uritemplates, parse a template string and expand it with a value map:

template, _ := uritemplates.Parse("https://api.github.com/repos{/user,repo}")
values := make(map[string]interface{})
values["user"] = "jtacoma"
values["repo"] = "uritemplates"
expanded, _ := template.Expand(values)
fmt.Printf(expanded)

Index

Constants

View Source
const (
	CreateReleaseCommandV1              = "/api/{spaceId}/releases/create/v1"
	CreateDeploymentTenantedCommandV1   = "/api/{spaceId}/deployments/create/tenanted/v1"
	CreateDeploymentUntenantedCommandV1 = "/api/{spaceId}/deployments/create/untenanted/v1"
	CreateRunRunbookCommand             = "/api/{spaceId}/runbook-runs/create/v1"
	DeploymentProcesses                 = "/api/{spaceId}/deploymentprocesses{/id}{?skip,take,ids}"
	ReleaseDeploymentPreview            = "/api/{spaceId}/releases/{releaseId}/deployments/preview/{environmentId}{?includeDisabledSteps}"
	Releases                            = "/api/{spaceId}/releases{/id}{?skip,ignoreChannelRules,take,ids}"
	ReleasesByProject                   = "/api/{spaceId}/projects/{projectId}/releases{/version}{?skip,take,searchByVersion}"
	ReleasesByProjectAndChannel         = "/api/{spaceId}/projects/{projectId}/channels/{channelId}/releases{?skip,take,searchByVersion}"
	Variables                           = "/api/{spaceId}/variables{/id}{?ids}"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type URITemplateCache added in v2.4.0

type URITemplateCache struct {
	// contains filtered or unexported fields
}

func NewUriTemplateCache added in v2.4.0

func NewUriTemplateCache() *URITemplateCache

func (*URITemplateCache) Expand added in v2.4.0

func (c *URITemplateCache) Expand(uriTemplate string, value any) (string, error)

func (*URITemplateCache) ExpandLinked added in v2.4.0

func (c *URITemplateCache) ExpandLinked(resource *resources.Resource, linkKey string, value any) (string, error)

func (*URITemplateCache) Intern added in v2.4.0

func (c *URITemplateCache) Intern(uriTemplate string) (*UriTemplate, error)

type UriTemplate

type UriTemplate struct {
	// contains filtered or unexported fields
}

A UriTemplate is a parsed representation of a URI template.

func Parse

func Parse(rawtemplate string) (template *UriTemplate, err error)

Parse parses a URI template string into a UriTemplate object.

func (*UriTemplate) Expand

func (self *UriTemplate) Expand(value interface{}) (string, error)

Expand expands a URI template with a set of values to produce a string.

func (*UriTemplate) Names

func (self *UriTemplate) Names() []string

Names returns the names of all variables within the template.

func (UriTemplate) String

func (t UriTemplate) String() string

Jump to

Keyboard shortcuts

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