Skip to content

Commit 1f94d12

Browse files
committed
more output logging for invalid codes
1 parent 7786406 commit 1f94d12

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

internal/server/convert.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,20 @@ func convertItem(c *gin.Context) {
3939
}
4040
items := make([]item.Item, len(codes))
4141
for index, code := range codes {
42-
i, err := item.Deserialize(code)
42+
bs, err := base64.StdEncoding.DecodeString(code)
4343
if err != nil {
4444
log.Println(err)
4545
c.AbortWithStatusJSON(500, err)
4646
return
4747
}
48+
i, err := item.Deserialize(bs)
49+
if err != nil {
50+
log.Printf("error in bl3(%s): %v", code, err)
51+
c.AbortWithStatusJSON(500, err)
52+
return
53+
}
4854
i.Wrapper = &pb.OakInventoryItemSaveGameData{
49-
ItemSerialNumber: code,
55+
ItemSerialNumber: bs,
5056
PickupOrderIndex: 200,
5157
Flags: 3,
5258
WeaponSkinPath: "",
@@ -81,15 +87,11 @@ func convertItem(c *gin.Context) {
8187
return
8288
}
8389

84-
func extractBL3Codes(text string) (codes [][]byte, err error) {
90+
func extractBL3Codes(text string) (codes []string, err error) {
8591
matches := bl3CodeRegexp.FindAllStringSubmatch(text, -1)
86-
codes = make([][]byte, len(matches))
92+
codes = make([]string, len(matches))
8793
for i, match := range matches {
88-
bs, err := base64.StdEncoding.DecodeString(match[2])
89-
if err != nil {
90-
return nil, err
91-
}
92-
codes[i] = bs
94+
codes[i] = match[2]
9395
}
9496
return
9597
}

internal/server/convert_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package server
22

33
import (
4+
"encoding/base64"
5+
"log"
46
"strings"
57
"testing"
68
"time"
@@ -21,6 +23,7 @@ func TestConvert(t *testing.T) {
2123
// setup
2224
assets.DefaultAssetLoader = assets2.HttpAssetsLoader{}
2325
text := strings.Repeat(code, iterations)
26+
text += "asdfasdf asdf\n some random stuff"
2427
codes, err := extractBL3Codes(text)
2528
if err != nil {
2629
t.Fatal(err)
@@ -30,12 +33,16 @@ func TestConvert(t *testing.T) {
3033

3134
items := make([]item.Item, len(codes))
3235
for index, code := range codes {
33-
i, err := item.Deserialize(code)
36+
bs, err := base64.StdEncoding.DecodeString(code)
37+
if err != nil {
38+
log.Fatal(err)
39+
}
40+
i, err := item.Deserialize(bs)
3441
if err != nil {
3542
t.Fatal(err)
3643
}
3744
i.Wrapper = &pb.OakInventoryItemSaveGameData{
38-
ItemSerialNumber: code,
45+
ItemSerialNumber: bs,
3946
PickupOrderIndex: 200,
4047
Flags: 3,
4148
WeaponSkinPath: "",

0 commit comments

Comments
 (0)