summaryrefslogtreecommitdiff
path: root/vendor/github.com/coreos/ignition/config/types/url.go
diff options
context:
space:
mode:
authorFlavio Castelli <fcastelli@suse.com>2017-05-03 11:37:08 +0200
committerAlvaro <alvaro.saurin@gmail.com>2017-05-03 11:40:31 +0200
commitee12004ab93e54f326896e9909ba9e6a2bd11e89 (patch)
tree1ea30d204b04425ebd1dadaf8cc991d572c7f0fb /vendor/github.com/coreos/ignition/config/types/url.go
parenta286dc5494691c2b04c48ef6695ed0c902912c0f (diff)
downloadterraform-provider-libvirt-ee12004ab93e54f326896e9909ba9e6a2bd11e89.tar
terraform-provider-libvirt-ee12004ab93e54f326896e9909ba9e6a2bd11e89.tar.gz
Vendor dependencies with vndr
This fixes issue #123
Diffstat (limited to 'vendor/github.com/coreos/ignition/config/types/url.go')
-rw-r--r--vendor/github.com/coreos/ignition/config/types/url.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/vendor/github.com/coreos/ignition/config/types/url.go b/vendor/github.com/coreos/ignition/config/types/url.go
new file mode 100644
index 00000000..e80bf939
--- /dev/null
+++ b/vendor/github.com/coreos/ignition/config/types/url.go
@@ -0,0 +1,49 @@
+// Copyright 2016 CoreOS, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package types
+
+import (
+ "errors"
+ "net/url"
+
+ "github.com/vincent-petithory/dataurl"
+)
+
+var (
+ ErrInvalidScheme = errors.New("invalid url scheme")
+)
+
+func validateURL(s string) error {
+ // Empty url is valid, indicates an empty file
+ if s == "" {
+ return nil
+ }
+ u, err := url.Parse(s)
+ if err != nil {
+ return err
+ }
+
+ switch u.Scheme {
+ case "http", "https", "oem":
+ return nil
+ case "data":
+ if _, err := dataurl.DecodeString(s); err != nil {
+ return err
+ }
+ return nil
+ default:
+ return ErrInvalidScheme
+ }
+}