summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-openapi/spec/license.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-openapi/spec/license.go')
-rw-r--r--vendor/github.com/go-openapi/spec/license.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/github.com/go-openapi/spec/license.go b/vendor/github.com/go-openapi/spec/license.go
index f20961b4fd..e1529b401c 100644
--- a/vendor/github.com/go-openapi/spec/license.go
+++ b/vendor/github.com/go-openapi/spec/license.go
@@ -14,10 +14,40 @@
package spec
+import (
+ "encoding/json"
+
+ "github.com/go-openapi/swag"
+)
+
// License information for the exposed API.
//
// For more information: http://goo.gl/8us55a#licenseObject
type License struct {
+ LicenseProps
+ VendorExtensible
+}
+
+type LicenseProps struct {
Name string `json:"name,omitempty"`
URL string `json:"url,omitempty"`
}
+
+func (l *License) UnmarshalJSON(data []byte) error {
+ if err := json.Unmarshal(data, &l.LicenseProps); err != nil {
+ return err
+ }
+ return json.Unmarshal(data, &l.VendorExtensible)
+}
+
+func (l License) MarshalJSON() ([]byte, error) {
+ b1, err := json.Marshal(l.LicenseProps)
+ if err != nil {
+ return nil, err
+ }
+ b2, err := json.Marshal(l.VendorExtensible)
+ if err != nil {
+ return nil, err
+ }
+ return swag.ConcatJSON(b1, b2), nil
+}