mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-07-09 20:54:04 +00:00
Update direct dependencies where possible
This commit is contained in:
2
vendor/github.com/magiconair/properties/.travis.yml
generated
vendored
2
vendor/github.com/magiconair/properties/.travis.yml
generated
vendored
@ -6,5 +6,5 @@ go:
|
||||
- 1.7.x
|
||||
- 1.8.x
|
||||
- 1.9.x
|
||||
- "1.10"
|
||||
- "1.10.x"
|
||||
- tip
|
||||
|
8
vendor/github.com/magiconair/properties/CHANGELOG.md
generated
vendored
8
vendor/github.com/magiconair/properties/CHANGELOG.md
generated
vendored
@ -1,5 +1,13 @@
|
||||
## Changelog
|
||||
|
||||
### [1.8](https://github.com/magiconair/properties/tree/v1.8) - 15 May 2018
|
||||
|
||||
* [PR #26](https://github.com/magiconair/properties/pull/26): Disable expansion during loading
|
||||
|
||||
This adds the option to disable property expansion during loading.
|
||||
|
||||
Thanks to [@kmala](https://github.com/kmala) for the patch.
|
||||
|
||||
### [1.7.6](https://github.com/magiconair/properties/tree/v1.7.6) - 14 Feb 2018
|
||||
|
||||
* [PR #29](https://github.com/magiconair/properties/pull/29): Reworked expansion logic to handle more complex cases.
|
||||
|
2
vendor/github.com/magiconair/properties/decode.go
generated
vendored
2
vendor/github.com/magiconair/properties/decode.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
6
vendor/github.com/magiconair/properties/doc.go
generated
vendored
6
vendor/github.com/magiconair/properties/doc.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -73,7 +73,7 @@
|
||||
// # refers to the users' home dir
|
||||
// home = ${HOME}
|
||||
//
|
||||
// # local key takes precendence over env var: u = foo
|
||||
// # local key takes precedence over env var: u = foo
|
||||
// USER = foo
|
||||
// u = ${USER}
|
||||
//
|
||||
@ -102,7 +102,7 @@
|
||||
// v = p.GetString("key", "def")
|
||||
// v = p.GetDuration("key", 999)
|
||||
//
|
||||
// As an alterantive properties may be applied with the standard
|
||||
// As an alternative properties may be applied with the standard
|
||||
// library's flag implementation at any time.
|
||||
//
|
||||
// # Standard configuration
|
||||
|
2
vendor/github.com/magiconair/properties/integrate.go
generated
vendored
2
vendor/github.com/magiconair/properties/integrate.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/magiconair/properties/lex.go
generated
vendored
2
vendor/github.com/magiconair/properties/lex.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
//
|
||||
|
257
vendor/github.com/magiconair/properties/load.go
generated
vendored
257
vendor/github.com/magiconair/properties/load.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -16,21 +16,157 @@ import (
|
||||
type Encoding uint
|
||||
|
||||
const (
|
||||
// utf8Default is a private placeholder for the zero value of Encoding to
|
||||
// ensure that it has the correct meaning. UTF8 is the default encoding but
|
||||
// was assigned a non-zero value which cannot be changed without breaking
|
||||
// existing code. Clients should continue to use the public constants.
|
||||
utf8Default Encoding = iota
|
||||
|
||||
// UTF8 interprets the input data as UTF-8.
|
||||
UTF8 Encoding = 1 << iota
|
||||
UTF8
|
||||
|
||||
// ISO_8859_1 interprets the input data as ISO-8859-1.
|
||||
ISO_8859_1
|
||||
)
|
||||
|
||||
type Loader struct {
|
||||
// Encoding determines how the data from files and byte buffers
|
||||
// is interpreted. For URLs the Content-Type header is used
|
||||
// to determine the encoding of the data.
|
||||
Encoding Encoding
|
||||
|
||||
// DisableExpansion configures the property expansion of the
|
||||
// returned property object. When set to true, the property values
|
||||
// will not be expanded and the Property object will not be checked
|
||||
// for invalid expansion expressions.
|
||||
DisableExpansion bool
|
||||
|
||||
// IgnoreMissing configures whether missing files or URLs which return
|
||||
// 404 are reported as errors. When set to true, missing files and 404
|
||||
// status codes are not reported as errors.
|
||||
IgnoreMissing bool
|
||||
}
|
||||
|
||||
// Load reads a buffer into a Properties struct.
|
||||
func (l *Loader) LoadBytes(buf []byte) (*Properties, error) {
|
||||
return l.loadBytes(buf, l.Encoding)
|
||||
}
|
||||
|
||||
// LoadAll reads the content of multiple URLs or files in the given order into
|
||||
// a Properties struct. If IgnoreMissing is true then a 404 status code or
|
||||
// missing file will not be reported as error. Encoding sets the encoding for
|
||||
// files. For the URLs see LoadURL for the Content-Type header and the
|
||||
// encoding.
|
||||
func (l *Loader) LoadAll(names []string) (*Properties, error) {
|
||||
all := NewProperties()
|
||||
for _, name := range names {
|
||||
n, err := expandName(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var p *Properties
|
||||
switch {
|
||||
case strings.HasPrefix(n, "http://"):
|
||||
p, err = l.LoadURL(n)
|
||||
case strings.HasPrefix(n, "https://"):
|
||||
p, err = l.LoadURL(n)
|
||||
default:
|
||||
p, err = l.LoadFile(n)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
all.Merge(p)
|
||||
}
|
||||
|
||||
all.DisableExpansion = l.DisableExpansion
|
||||
if all.DisableExpansion {
|
||||
return all, nil
|
||||
}
|
||||
return all, all.check()
|
||||
}
|
||||
|
||||
// LoadFile reads a file into a Properties struct.
|
||||
// If IgnoreMissing is true then a missing file will not be
|
||||
// reported as error.
|
||||
func (l *Loader) LoadFile(filename string) (*Properties, error) {
|
||||
data, err := ioutil.ReadFile(filename)
|
||||
if err != nil {
|
||||
if l.IgnoreMissing && os.IsNotExist(err) {
|
||||
LogPrintf("properties: %s not found. skipping", filename)
|
||||
return NewProperties(), nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
return l.loadBytes(data, l.Encoding)
|
||||
}
|
||||
|
||||
// LoadURL reads the content of the URL into a Properties struct.
|
||||
//
|
||||
// The encoding is determined via the Content-Type header which
|
||||
// should be set to 'text/plain'. If the 'charset' parameter is
|
||||
// missing, 'iso-8859-1' or 'latin1' the encoding is set to
|
||||
// ISO-8859-1. If the 'charset' parameter is set to 'utf-8' the
|
||||
// encoding is set to UTF-8. A missing content type header is
|
||||
// interpreted as 'text/plain; charset=utf-8'.
|
||||
func (l *Loader) LoadURL(url string) (*Properties, error) {
|
||||
resp, err := http.Get(url)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("properties: error fetching %q. %s", url, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode == 404 && l.IgnoreMissing {
|
||||
LogPrintf("properties: %s returned %d. skipping", url, resp.StatusCode)
|
||||
return NewProperties(), nil
|
||||
}
|
||||
|
||||
if resp.StatusCode != 200 {
|
||||
return nil, fmt.Errorf("properties: %s returned %d", url, resp.StatusCode)
|
||||
}
|
||||
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("properties: %s error reading response. %s", url, err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
ct := resp.Header.Get("Content-Type")
|
||||
var enc Encoding
|
||||
switch strings.ToLower(ct) {
|
||||
case "text/plain", "text/plain; charset=iso-8859-1", "text/plain; charset=latin1":
|
||||
enc = ISO_8859_1
|
||||
case "", "text/plain; charset=utf-8":
|
||||
enc = UTF8
|
||||
default:
|
||||
return nil, fmt.Errorf("properties: invalid content type %s", ct)
|
||||
}
|
||||
|
||||
return l.loadBytes(body, enc)
|
||||
}
|
||||
|
||||
func (l *Loader) loadBytes(buf []byte, enc Encoding) (*Properties, error) {
|
||||
p, err := parse(convert(buf, enc))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
p.DisableExpansion = l.DisableExpansion
|
||||
if p.DisableExpansion {
|
||||
return p, nil
|
||||
}
|
||||
return p, p.check()
|
||||
}
|
||||
|
||||
// Load reads a buffer into a Properties struct.
|
||||
func Load(buf []byte, enc Encoding) (*Properties, error) {
|
||||
return loadBuf(buf, enc)
|
||||
l := &Loader{Encoding: enc}
|
||||
return l.LoadBytes(buf)
|
||||
}
|
||||
|
||||
// LoadString reads an UTF8 string into a properties struct.
|
||||
func LoadString(s string) (*Properties, error) {
|
||||
return loadBuf([]byte(s), UTF8)
|
||||
l := &Loader{Encoding: UTF8}
|
||||
return l.LoadBytes([]byte(s))
|
||||
}
|
||||
|
||||
// LoadMap creates a new Properties struct from a string map.
|
||||
@ -44,34 +180,32 @@ func LoadMap(m map[string]string) *Properties {
|
||||
|
||||
// LoadFile reads a file into a Properties struct.
|
||||
func LoadFile(filename string, enc Encoding) (*Properties, error) {
|
||||
return loadAll([]string{filename}, enc, false)
|
||||
l := &Loader{Encoding: enc}
|
||||
return l.LoadAll([]string{filename})
|
||||
}
|
||||
|
||||
// LoadFiles reads multiple files in the given order into
|
||||
// a Properties struct. If 'ignoreMissing' is true then
|
||||
// non-existent files will not be reported as error.
|
||||
func LoadFiles(filenames []string, enc Encoding, ignoreMissing bool) (*Properties, error) {
|
||||
return loadAll(filenames, enc, ignoreMissing)
|
||||
l := &Loader{Encoding: enc, IgnoreMissing: ignoreMissing}
|
||||
return l.LoadAll(filenames)
|
||||
}
|
||||
|
||||
// LoadURL reads the content of the URL into a Properties struct.
|
||||
//
|
||||
// The encoding is determined via the Content-Type header which
|
||||
// should be set to 'text/plain'. If the 'charset' parameter is
|
||||
// missing, 'iso-8859-1' or 'latin1' the encoding is set to
|
||||
// ISO-8859-1. If the 'charset' parameter is set to 'utf-8' the
|
||||
// encoding is set to UTF-8. A missing content type header is
|
||||
// interpreted as 'text/plain; charset=utf-8'.
|
||||
// See Loader#LoadURL for details.
|
||||
func LoadURL(url string) (*Properties, error) {
|
||||
return loadAll([]string{url}, UTF8, false)
|
||||
l := &Loader{Encoding: UTF8}
|
||||
return l.LoadAll([]string{url})
|
||||
}
|
||||
|
||||
// LoadURLs reads the content of multiple URLs in the given order into a
|
||||
// Properties struct. If 'ignoreMissing' is true then a 404 status code will
|
||||
// not be reported as error. See LoadURL for the Content-Type header
|
||||
// Properties struct. If IgnoreMissing is true then a 404 status code will
|
||||
// not be reported as error. See Loader#LoadURL for the Content-Type header
|
||||
// and the encoding.
|
||||
func LoadURLs(urls []string, ignoreMissing bool) (*Properties, error) {
|
||||
return loadAll(urls, UTF8, ignoreMissing)
|
||||
l := &Loader{Encoding: UTF8, IgnoreMissing: ignoreMissing}
|
||||
return l.LoadAll(urls)
|
||||
}
|
||||
|
||||
// LoadAll reads the content of multiple URLs or files in the given order into a
|
||||
@ -79,7 +213,8 @@ func LoadURLs(urls []string, ignoreMissing bool) (*Properties, error) {
|
||||
// not be reported as error. Encoding sets the encoding for files. For the URLs please see
|
||||
// LoadURL for the Content-Type header and the encoding.
|
||||
func LoadAll(names []string, enc Encoding, ignoreMissing bool) (*Properties, error) {
|
||||
return loadAll(names, enc, ignoreMissing)
|
||||
l := &Loader{Encoding: enc, IgnoreMissing: ignoreMissing}
|
||||
return l.LoadAll(names)
|
||||
}
|
||||
|
||||
// MustLoadString reads an UTF8 string into a Properties struct and
|
||||
@ -122,90 +257,6 @@ func MustLoadAll(names []string, enc Encoding, ignoreMissing bool) *Properties {
|
||||
return must(LoadAll(names, enc, ignoreMissing))
|
||||
}
|
||||
|
||||
func loadBuf(buf []byte, enc Encoding) (*Properties, error) {
|
||||
p, err := parse(convert(buf, enc))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return p, p.check()
|
||||
}
|
||||
|
||||
func loadAll(names []string, enc Encoding, ignoreMissing bool) (*Properties, error) {
|
||||
result := NewProperties()
|
||||
for _, name := range names {
|
||||
n, err := expandName(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var p *Properties
|
||||
if strings.HasPrefix(n, "http://") || strings.HasPrefix(n, "https://") {
|
||||
p, err = loadURL(n, ignoreMissing)
|
||||
} else {
|
||||
p, err = loadFile(n, enc, ignoreMissing)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result.Merge(p)
|
||||
|
||||
}
|
||||
return result, result.check()
|
||||
}
|
||||
|
||||
func loadFile(filename string, enc Encoding, ignoreMissing bool) (*Properties, error) {
|
||||
data, err := ioutil.ReadFile(filename)
|
||||
if err != nil {
|
||||
if ignoreMissing && os.IsNotExist(err) {
|
||||
LogPrintf("properties: %s not found. skipping", filename)
|
||||
return NewProperties(), nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
p, err := parse(convert(data, enc))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return p, nil
|
||||
}
|
||||
|
||||
func loadURL(url string, ignoreMissing bool) (*Properties, error) {
|
||||
resp, err := http.Get(url)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("properties: error fetching %q. %s", url, err)
|
||||
}
|
||||
if resp.StatusCode == 404 && ignoreMissing {
|
||||
LogPrintf("properties: %s returned %d. skipping", url, resp.StatusCode)
|
||||
return NewProperties(), nil
|
||||
}
|
||||
if resp.StatusCode != 200 {
|
||||
return nil, fmt.Errorf("properties: %s returned %d", url, resp.StatusCode)
|
||||
}
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("properties: %s error reading response. %s", url, err)
|
||||
}
|
||||
if err = resp.Body.Close(); err != nil {
|
||||
return nil, fmt.Errorf("properties: %s error reading response. %s", url, err)
|
||||
}
|
||||
|
||||
ct := resp.Header.Get("Content-Type")
|
||||
var enc Encoding
|
||||
switch strings.ToLower(ct) {
|
||||
case "text/plain", "text/plain; charset=iso-8859-1", "text/plain; charset=latin1":
|
||||
enc = ISO_8859_1
|
||||
case "", "text/plain; charset=utf-8":
|
||||
enc = UTF8
|
||||
default:
|
||||
return nil, fmt.Errorf("properties: invalid content type %s", ct)
|
||||
}
|
||||
|
||||
p, err := parse(convert(body, enc))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return p, nil
|
||||
}
|
||||
|
||||
func must(p *Properties, err error) *Properties {
|
||||
if err != nil {
|
||||
ErrorHandler(err)
|
||||
@ -226,7 +277,7 @@ func expandName(name string) (string, error) {
|
||||
// first 256 unicode code points cover ISO-8859-1.
|
||||
func convert(buf []byte, enc Encoding) string {
|
||||
switch enc {
|
||||
case UTF8:
|
||||
case utf8Default, UTF8:
|
||||
return string(buf)
|
||||
case ISO_8859_1:
|
||||
runes := make([]rune, len(buf))
|
||||
|
2
vendor/github.com/magiconair/properties/parser.go
generated
vendored
2
vendor/github.com/magiconair/properties/parser.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
13
vendor/github.com/magiconair/properties/properties.go
generated
vendored
13
vendor/github.com/magiconair/properties/properties.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -83,6 +83,17 @@ func NewProperties() *Properties {
|
||||
}
|
||||
}
|
||||
|
||||
// Load reads a buffer into the given Properties struct.
|
||||
func (p *Properties) Load(buf []byte, enc Encoding) error {
|
||||
l := &Loader{Encoding: enc, DisableExpansion: p.DisableExpansion}
|
||||
newProperties, err := l.LoadBytes(buf)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
p.Merge(newProperties)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Get returns the expanded value for the given key if exists.
|
||||
// Otherwise, ok is false.
|
||||
func (p *Properties) Get(key string) (value string, ok bool) {
|
||||
|
2
vendor/github.com/magiconair/properties/rangecheck.go
generated
vendored
2
vendor/github.com/magiconair/properties/rangecheck.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2017 Frank Schroeder. All rights reserved.
|
||||
// Copyright 2018 Frank Schroeder. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
Reference in New Issue
Block a user