Skip to content

Commit faf402b

Browse files
committed
feat(compress): unify CompressType usage across modules
Refactor CompressType to use a single definition from the compress package. Updated all references to mbodyraw.CompressType to compress.CompressType for consistency. - Removed redundant CompressType definition in mbodyraw. - Adjusted imports and references in affected files. - Added decompression logic in PrepareRequest for non-none types. This change improves maintainability and reduces duplication.
1 parent 85c9fee commit faf402b

13 files changed

Lines changed: 49 additions & 30 deletions

File tree

‎packages/server/internal/api/rbody/rbody.go‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"errors"
77
"the-dev-tools/server/internal/api"
88
"the-dev-tools/server/internal/api/ritemapiexample"
9+
"the-dev-tools/server/pkg/compress"
910
"the-dev-tools/server/pkg/idwrap"
1011
"the-dev-tools/server/pkg/model/mbodyraw"
1112
"the-dev-tools/server/pkg/permcheck"
@@ -289,18 +290,18 @@ func (c BodyRPC) BodyRawGet(ctx context.Context, req *connect.Request[bodyv1.Bod
289290
return nil, connect.NewError(connect.CodeInternal, err)
290291
}
291292
var bodyRawData []byte
292-
if bodyRaw.CompressType == mbodyraw.CompressTypeNone {
293+
if bodyRaw.CompressType == compress.CompressTypeNone {
293294
bodyRawData = bodyRaw.Data
294295
}
295296
switch bodyRaw.CompressType {
296-
case mbodyraw.CompressTypeNone:
297+
case compress.CompressTypeNone:
297298
bodyRawData = bodyRaw.Data
298-
case mbodyraw.CompressTypeZstd:
299+
case compress.CompressTypeZstd:
299300
bodyRawData, err = zstdcompress.Decompress(bodyRaw.Data)
300301
if err != nil {
301302
return nil, connect.NewError(connect.CodeInternal, err)
302303
}
303-
case mbodyraw.CompressTypeGzip:
304+
case compress.CompressTypeGzip:
304305
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("gzip not supported"))
305306
}
306307
return connect.NewResponse(&bodyv1.BodyRawGetResponse{Data: bodyRawData}), nil
@@ -322,11 +323,11 @@ func (c BodyRPC) BodyRawUpdate(ctx context.Context, req *connect.Request[bodyv1.
322323

323324
rawBody := mbodyraw.ExampleBodyRaw{
324325
ID: bodyRawID.ID,
325-
CompressType: mbodyraw.CompressTypeNone,
326+
CompressType: compress.CompressTypeNone,
326327
Data: req.Msg.GetData(),
327328
}
328329
if len(rawBody.Data) > zstdcompress.CompressThreshold {
329-
rawBody.CompressType = mbodyraw.CompressTypeZstd
330+
rawBody.CompressType = compress.CompressTypeZstd
330331
rawBody.Data = zstdcompress.Compress(rawBody.Data)
331332
}
332333

‎packages/server/internal/api/rbody/rbody_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"testing"
77
"the-dev-tools/server/internal/api/middleware/mwauth"
88
"the-dev-tools/server/internal/api/rbody"
9+
"the-dev-tools/server/pkg/compress"
910
"the-dev-tools/server/pkg/idwrap"
1011
"the-dev-tools/server/pkg/model/mbodyform"
1112
"the-dev-tools/server/pkg/model/mbodyraw"
@@ -80,7 +81,7 @@ func TestGetBodyRaw(t *testing.T) {
8081
ID: idwrap.NewNow(),
8182
VisualizeMode: mbodyraw.VisualizeModeHTML,
8283
ExampleID: itemExample.ID,
83-
CompressType: mbodyraw.CompressTypeNone,
84+
CompressType: compress.CompressTypeNone,
8485
Data: []byte("test body"),
8586
}
8687

‎packages/server/internal/api/ritemapiexample/ritemapiexample.go‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"the-dev-tools/server/internal/api"
1313
"the-dev-tools/server/internal/api/rcollection"
1414
"the-dev-tools/server/internal/api/ritemapi"
15+
"the-dev-tools/server/pkg/compress"
1516
"the-dev-tools/server/pkg/http/request"
1617
"the-dev-tools/server/pkg/http/response"
1718
"the-dev-tools/server/pkg/httpclient"
@@ -232,7 +233,7 @@ func (c *ItemAPIExampleRPC) ExampleCreate(ctx context.Context, req *connect.Requ
232233
ID: idwrap.NewNow(),
233234
ExampleID: ExampleID,
234235
VisualizeMode: mbodyraw.VisualizeModeBinary,
235-
CompressType: mbodyraw.CompressTypeNone,
236+
CompressType: compress.CompressTypeNone,
236237
Data: []byte{},
237238
}
238239

@@ -548,7 +549,7 @@ func (c *ItemAPIExampleRPC) ExampleRun(ctx context.Context, req *connect.Request
548549
ID: idwrap.NewNow(),
549550
ExampleID: exampleUlid,
550551
VisualizeMode: mbodyraw.VisualizeModeBinary,
551-
CompressType: mbodyraw.CompressTypeNone,
552+
CompressType: compress.CompressTypeNone,
552553
Data: []byte{},
553554
}
554555

‎packages/server/pkg/compress/compress.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/andybalholm/brotli"
1111
)
1212

13-
type CompressType int8
13+
type CompressType = int8
1414

1515
const (
1616
CompressTypeNone CompressType = 0

‎packages/server/pkg/flow/node/nfor/nfor_test.go‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package nfor_test
22

33
import (
44
"context"
5+
"sync"
56
"sync/atomic"
67
"testing"
78
"the-dev-tools/server/pkg/flow/edge"
@@ -52,6 +53,7 @@ func TestForNode_RunSync(t *testing.T) {
5253
}
5354

5455
req := &node.FlowNodeRequest{
56+
ReadWriteLock: &sync.RWMutex{},
5557
VarMap: map[string]interface{}{},
5658
NodeMap: nodeMap,
5759
EdgeSourceMap: edgesMap,
@@ -106,6 +108,7 @@ func TestForNode_RunAsync(t *testing.T) {
106108

107109
req := &node.FlowNodeRequest{
108110
VarMap: map[string]interface{}{},
111+
ReadWriteLock: &sync.RWMutex{},
109112
NodeMap: nodeMap,
110113
EdgeSourceMap: edgesMap,
111114
LogPushFunc: logMockFunc,

‎packages/server/pkg/flow/node/nforeach/nforeach_test.go‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ func TestForEachNode_RunSyncArray(t *testing.T) {
7272

7373
req := &node.FlowNodeRequest{
7474
VarMap: varMap,
75+
ReadWriteLock: &sync.RWMutex{},
7576
NodeMap: nodeMap,
7677
EdgeSourceMap: edgesMap,
7778
Timeout: timeOut,
@@ -144,6 +145,7 @@ func TestForEachNode_RunAsyncArray(t *testing.T) {
144145

145146
req := &node.FlowNodeRequest{
146147
VarMap: varMap,
148+
ReadWriteLock: &sync.RWMutex{},
147149
NodeMap: nodeMap,
148150
EdgeSourceMap: edgesMap,
149151
LogPushFunc: logMockFunc,
@@ -214,6 +216,7 @@ func TestForEachNode_RunSync_Map(t *testing.T) {
214216
"c": "valueC",
215217
},
216218
},
219+
ReadWriteLock: &sync.RWMutex{},
217220
NodeMap: nodeMap,
218221
EdgeSourceMap: edgesMap,
219222
Timeout: timeOut,
@@ -275,6 +278,7 @@ func TestForEachNode_RunAsync_Map(t *testing.T) {
275278
"c": "valueC",
276279
},
277280
},
281+
ReadWriteLock: &sync.RWMutex{},
278282
NodeMap: nodeMap,
279283
EdgeSourceMap: edgesMap,
280284
LogPushFunc: logMockFunc,

‎packages/server/pkg/flow/node/nif/nif_test.go‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package nif_test
22

33
import (
44
"context"
5+
"sync"
56
"testing"
67
"the-dev-tools/server/pkg/flow/edge"
78
"the-dev-tools/server/pkg/flow/node"
@@ -42,6 +43,7 @@ func TestForNode_RunSync_true(t *testing.T) {
4243

4344
req := &node.FlowNodeRequest{
4445
VarMap: map[string]interface{}{},
46+
ReadWriteLock: &sync.RWMutex{},
4547
NodeMap: nodeMap,
4648
EdgeSourceMap: edgesMap,
4749
}
@@ -83,6 +85,7 @@ func TestForNode_RunSync_false(t *testing.T) {
8385

8486
req := &node.FlowNodeRequest{
8587
VarMap: map[string]interface{}{},
88+
ReadWriteLock: &sync.RWMutex{},
8689
NodeMap: nodeMap,
8790
EdgeSourceMap: edgesMap,
8891
}
@@ -126,6 +129,7 @@ func TestForNode_RunSync_VarTrue(t *testing.T) {
126129
VarMap: map[string]interface{}{
127130
"a": 1,
128131
},
132+
ReadWriteLock: &sync.RWMutex{},
129133
NodeMap: nodeMap,
130134
EdgeSourceMap: edgesMap,
131135
}
@@ -169,6 +173,7 @@ func TestForNode_RunSync_VarFalse(t *testing.T) {
169173
VarMap: map[string]interface{}{
170174
"a": 2,
171175
},
176+
ReadWriteLock: &sync.RWMutex{},
172177
NodeMap: nodeMap,
173178
EdgeSourceMap: edgesMap,
174179
}

‎packages/server/pkg/http/request/request.go‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,12 @@ func PrepareRequest(endpoint mitemapi.ItemApi, example mitemapiexample.ItemApiEx
128128
switch example.BodyType {
129129
case mitemapiexample.BodyTypeRaw:
130130
if len(rawBody.Data) > 0 {
131+
if rawBody.CompressType != compress.CompressTypeNone {
132+
rawBody.Data, err = compress.Decompress(rawBody.Data, rawBody.CompressType)
133+
if err != nil {
134+
return nil, err
135+
}
136+
}
131137
bodyStr := string(rawBody.Data)
132138
bodyStr, err = varMap.ReplaceVars(bodyStr)
133139
if err != nil {

‎packages/server/pkg/ioworkspace/ioworkspace_test.go‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"strings"
66
"testing"
7+
"the-dev-tools/server/pkg/compress"
78
"the-dev-tools/server/pkg/idwrap"
89
"the-dev-tools/server/pkg/ioworkspace"
910
"the-dev-tools/server/pkg/model/massert"
@@ -108,7 +109,7 @@ func createTestWorkspaceData() ioworkspace.WorkspaceData {
108109
wsData.Rawbodies = append(wsData.Rawbodies, mbodyraw.ExampleBodyRaw{
109110
Data: []byte(`{"test": "data"}`),
110111
VisualizeMode: mbodyraw.VisualizeModeJSON,
111-
CompressType: mbodyraw.CompressTypeNone,
112+
CompressType: compress.CompressTypeNone,
112113
ID: idwrap.NewNow(),
113114
ExampleID: exampleID,
114115
})
@@ -152,7 +153,7 @@ func createTestWorkspaceData() ioworkspace.WorkspaceData {
152153
ExampleID: exampleID,
153154
Data: []byte(`{"test": "data"}`),
154155
VisualizeMode: mbodyraw.VisualizeModeJSON,
155-
CompressType: mbodyraw.CompressTypeNone,
156+
CompressType: compress.CompressTypeNone,
156157
},
157158
}
158159

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package mbodyraw
22

3-
import "the-dev-tools/server/pkg/idwrap"
3+
import (
4+
"the-dev-tools/server/pkg/compress"
5+
"the-dev-tools/server/pkg/idwrap"
6+
)
47

58
type VisualizeMode int8
69

@@ -14,18 +17,10 @@ const (
1417
VisualizeModeBinary VisualizeMode = 6
1518
)
1619

17-
type CompressType int8
18-
19-
const (
20-
CompressTypeNone CompressType = 0
21-
CompressTypeGzip CompressType = 1
22-
CompressTypeZstd CompressType = 2
23-
)
24-
2520
type ExampleBodyRaw struct {
2621
Data []byte
2722
VisualizeMode VisualizeMode
28-
CompressType CompressType
23+
CompressType compress.CompressType
2924
ID idwrap.IDWrap
3025
ExampleID idwrap.IDWrap
3126
}

0 commit comments

Comments
 (0)