Skip to content

Commit 83f0569

Browse files
committed
lambdabackend: use padded encoding
otherwise the Lambda end will blow up
1 parent f0daeb4 commit 83f0569

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

‎pkg/erbackend/lambdabackend/lambdabackend.go‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (b *lambdaBackend) ServeHTTP(w http.ResponseWriter, r *http.Request) {
6262
func (b *lambdaBackend) serveHTTPModel(w http.ResponseWriter, r *http.Request) {
6363
defer r.Body.Close()
6464

65-
bodyBase64, err := encodeToBase64RawStd(r.Body)
65+
bodyBase64, err := encodeToBase64Std(r.Body)
6666
if err != nil {
6767
http.Error(w, err.Error(), http.StatusBadRequest)
6868
return
@@ -135,7 +135,7 @@ func (b *lambdaBackend) serveHTTPModel(w http.ResponseWriter, r *http.Request) {
135135
func (b *lambdaBackend) serveRESTModel(w http.ResponseWriter, r *http.Request) {
136136
defer r.Body.Close()
137137

138-
requestBodyBase64, err := encodeToBase64RawStd(r.Body)
138+
requestBodyBase64, err := encodeToBase64Std(r.Body)
139139
if err != nil {
140140
http.Error(w, err.Error(), http.StatusBadRequest)
141141
return
@@ -253,9 +253,10 @@ func copyHeaders(r *http.Request) (map[string]string, error) {
253253
return headers, nil
254254
}
255255

256-
func encodeToBase64RawStd(content io.Reader) (string, error) {
256+
func encodeToBase64Std(content io.Reader) (string, error) {
257257
bodyBuffered := &bytes.Buffer{}
258-
encodeBase64 := base64.NewEncoder(base64.RawStdEncoding, bodyBuffered)
258+
// needs to be the padded encoding (NOT raw)
259+
encodeBase64 := base64.NewEncoder(base64.StdEncoding, bodyBuffered)
259260
if _, err := io.Copy(encodeBase64, content); err != nil {
260261
return "", err
261262
}
@@ -266,8 +267,11 @@ func encodeToBase64RawStd(content io.Reader) (string, error) {
266267
}
267268

268269
func validatePayloadFormatVersion(version string) (bool, error) {
270+
const (
271+
notSpecified = ""
272+
)
269273
switch version {
270-
case "1.0", "":
274+
case "1.0", notSpecified:
271275
return false, nil
272276
case "2.0":
273277
return true, nil

0 commit comments

Comments
 (0)