2016-03-25 22:30:03 +01:00
|
|
|
// Copyright 2016 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2016-01-29 20:53:56 +01:00
|
|
|
package uritemplates
|
|
|
|
|
2018-08-27 20:26:52 +02:00
|
|
|
// Expand parses then expands a URI template with a set of values to produce
|
|
|
|
// the resultant URI. Two forms of the result are returned: one with all the
|
|
|
|
// elements escaped, and one with the elements unescaped.
|
|
|
|
func Expand(path string, values map[string]string) (escaped, unescaped string, err error) {
|
2016-03-25 22:30:03 +01:00
|
|
|
template, err := parse(path)
|
2016-01-29 20:53:56 +01:00
|
|
|
if err != nil {
|
2018-08-27 20:26:52 +02:00
|
|
|
return "", "", err
|
2016-01-29 20:53:56 +01:00
|
|
|
}
|
2018-08-27 20:26:52 +02:00
|
|
|
escaped, unescaped = template.Expand(values)
|
|
|
|
return escaped, unescaped, nil
|
2016-01-29 20:53:56 +01:00
|
|
|
}
|