aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go')
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go76
1 files changed, 0 insertions, 76 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
deleted file mode 100644
index 776d110..0000000
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
+++ /dev/null
@@ -1,76 +0,0 @@
-package protocol
-
-import (
- "encoding/base64"
- "encoding/json"
- "fmt"
- "strconv"
-
- "github.com/aws/aws-sdk-go/aws"
-)
-
-// EscapeMode is the mode that should be use for escaping a value
-type EscapeMode uint
-
-// The modes for escaping a value before it is marshaled, and unmarshaled.
-const (
- NoEscape EscapeMode = iota
- Base64Escape
- QuotedEscape
-)
-
-// EncodeJSONValue marshals the value into a JSON string, and optionally base64
-// encodes the string before returning it.
-//
-// Will panic if the escape mode is unknown.
-func EncodeJSONValue(v aws.JSONValue, escape EscapeMode) (string, error) {
- b, err := json.Marshal(v)
- if err != nil {
- return "", err
- }
-
- switch escape {
- case NoEscape:
- return string(b), nil
- case Base64Escape:
- return base64.StdEncoding.EncodeToString(b), nil
- case QuotedEscape:
- return strconv.Quote(string(b)), nil
- }
-
- panic(fmt.Sprintf("EncodeJSONValue called with unknown EscapeMode, %v", escape))
-}
-
-// DecodeJSONValue will attempt to decode the string input as a JSONValue.
-// Optionally decoding base64 the value first before JSON unmarshaling.
-//
-// Will panic if the escape mode is unknown.
-func DecodeJSONValue(v string, escape EscapeMode) (aws.JSONValue, error) {
- var b []byte
- var err error
-
- switch escape {
- case NoEscape:
- b = []byte(v)
- case Base64Escape:
- b, err = base64.StdEncoding.DecodeString(v)
- case QuotedEscape:
- var u string
- u, err = strconv.Unquote(v)
- b = []byte(u)
- default:
- panic(fmt.Sprintf("DecodeJSONValue called with unknown EscapeMode, %v", escape))
- }
-
- if err != nil {
- return nil, err
- }
-
- m := aws.JSONValue{}
- err = json.Unmarshal(b, &m)
- if err != nil {
- return nil, err
- }
-
- return m, nil
-}