From a8e7d0ecc75615e01c5e00bf0756633f207c547e Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 8 Mar 2019 23:17:08 +0100 Subject: [PATCH] Switch to dsd format for incoming requests --- api/database.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/api/database.go b/api/database.go index d703945..e025913 100644 --- a/api/database.go +++ b/api/database.go @@ -420,11 +420,20 @@ func (api *DatabaseAPI) handlePut(opID []byte, key string, data []byte, create b // 129|success // 129|error| - raw := make([]byte, len(data)+1) - raw[0] = record.JSON - copy(raw[1:], data) + if len(data) < 2 { + api.send(opID, dbMsgTypeError, "bad request: malformed message", nil) + return + } - r, err := record.NewWrapper(key, nil, record.JSON, data) + // FIXME: remove transition code + if data[0] != record.JSON { + typedData := make([]byte, len(data)+1) + typedData[0] = record.JSON + copy(typedData[1:], data) + data = typedData + } + + r, err := record.NewWrapper(key, nil, data[0], data[1:]) if err != nil { api.send(opID, dbMsgTypeError, err.Error(), nil) return