From 0d08d319d69fcf16b2f1af2d091e9cd9834d08e0 Mon Sep 17 00:00:00 2001 From: syumai Date: Wed, 15 Jan 2025 21:03:29 +0900 Subject: [PATCH] stop treating string body as bytes body --- cloudflare/queues/consumermessage.go | 17 ++++++----------- cloudflare/queues/consumermessage_test.go | 9 +-------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/cloudflare/queues/consumermessage.go b/cloudflare/queues/consumermessage.go index b0e1203..a0ebba2 100644 --- a/cloudflare/queues/consumermessage.go +++ b/cloudflare/queues/consumermessage.go @@ -67,16 +67,11 @@ func (m *ConsumerMessage) StringBody() (string, error) { } func (m *ConsumerMessage) BytesBody() ([]byte, error) { - switch m.Body.Type() { - case js.TypeString: - return []byte(m.Body.String()), nil - case js.TypeObject: - if m.Body.InstanceOf(jsutil.Uint8ArrayClass) || m.Body.InstanceOf(jsutil.Uint8ClampedArrayClass) { - b := make([]byte, m.Body.Get("byteLength").Int()) - js.CopyBytesToGo(b, m.Body) - return b, nil - } + if m.Body.Type() != js.TypeObject || + !(m.Body.InstanceOf(jsutil.Uint8ArrayClass) || m.Body.InstanceOf(jsutil.Uint8ClampedArrayClass)) { + return nil, fmt.Errorf("message body is not a byte array: %v", m.Body) } - - return nil, fmt.Errorf("message body is not a byte array: %v", m.Body) + b := make([]byte, m.Body.Get("byteLength").Int()) + js.CopyBytesToGo(b, m.Body) + return b, nil } diff --git a/cloudflare/queues/consumermessage_test.go b/cloudflare/queues/consumermessage_test.go index 909c0cd..8c229c1 100644 --- a/cloudflare/queues/consumermessage_test.go +++ b/cloudflare/queues/consumermessage_test.go @@ -174,13 +174,6 @@ func TestConsumerMessage_BytesBody(t *testing.T) { want []byte wantErr bool }{ - { - name: "string", - body: func() js.Value { - return js.ValueOf("hello") - }, - want: []byte("hello"), - }, { name: "uint8 array", body: func() js.Value { @@ -202,7 +195,7 @@ func TestConsumerMessage_BytesBody(t *testing.T) { { name: "incorrect type", body: func() js.Value { - return js.ValueOf(42) + return js.ValueOf("hello") }, wantErr: true, },