@@ -26,12 +26,6 @@ func handleConnection(conn net.Conn) {
2626
2727 version := - 1
2828
29- var blobHash string
30- blobSize := - 1
31-
32- var sdBlobHash string
33- sdBlobSize := - 1
34-
3529 for {
3630 var data map [string ]any
3731
@@ -45,10 +39,10 @@ func handleConnection(conn net.Conn) {
4539 continue
4640 }
4741
48- versionValue , hasVersion := data ["version" ].( int )
42+ versionValue , hasVersion := data ["version" ]
4943 if version == - 1 {
5044 if hasVersion {
51- version = versionValue
45+ version = int ( versionValue .( float64 ))
5246 jsonEncoder .Encode (map [string ]any {
5347 "version" : version ,
5448 })
@@ -58,52 +52,30 @@ func handleConnection(conn net.Conn) {
5852 return
5953 }
6054
61- blobHashValue , hasBlobHash := data ["blob_hash" ].( string )
62- blobSizeValue , hasBlobSize := data ["blob_size" ].( int )
55+ blobHashValue , hasBlobHash := data ["blob_hash" ]
56+ blobSizeValue , hasBlobSize := data ["blob_size" ]
6357
64- sdBlobHashValue , hasSDBlobHash := data ["sd_blob_hash" ].( string )
65- sdBlobSizeValue , hasSDBlobSize := data ["sd_blob_size" ].( int )
58+ sdBlobHashValue , hasSDBlobHash := data ["sd_blob_hash" ]
59+ sdBlobSizeValue , hasSDBlobSize := data ["sd_blob_size" ]
6660
67- if blobHash == "" && version >= 0 {
68- if hasBlobHash && hasBlobSize {
69- if len (blobHashValue ) != 96 || blobSizeValue <= 0 || blobSizeValue > 2097152 {
70- conn .Close ()
71- return
72- }
61+ if version >= 0 && hasBlobHash && hasBlobSize {
62+ blobHash := blobHashValue .(string )
63+ blobSize := int (blobSizeValue .(float64 ))
7364
74- blobHash = blobHashValue
75- blobSize = blobSizeValue
76-
77- jsonEncoder .Encode (map [string ]any {
78- "send_blob" : false , // TODO: Improve response
79- })
80- continue
65+ if len (blobHash ) != 96 || blobSize <= 0 || blobSize > 2097152 {
66+ conn .Close ()
67+ return
8168 }
82- }
83-
84- if sdBlobHash == "" && version >= 1 {
85- if hasSDBlobHash && hasSDBlobSize {
86- if len (blobHashValue ) != 96 || blobSizeValue <= 0 || blobSizeValue > 2097152 {
87- conn .Close ()
88- return
89- }
9069
91- sdBlobHash = sdBlobHashValue
92- sdBlobSize = sdBlobSizeValue
93-
94- jsonEncoder .Encode (map [string ]any {
95- "send_sd_blob" : false , // TODO: Improve response
96- })
97- continue
98- }
99- }
70+ jsonEncoder .Encode (map [string ]any {
71+ "send_blob" : true , // TODO: Improve response
72+ })
10073
101- if blobHash != "" {
10274 blobData := make ([]byte , blobSize )
10375 _ , err := io .ReadFull (conn , blobData )
10476
10577 //TODO Process blob data
106- fmt .Printf ("%+v\n " , blobData )
78+ fmt .Printf ("BLOB = %+v\n " , blobData )
10779
10880 jsonEncoder .Encode (map [string ]any {
10981 "received_blob" : err == nil ,
@@ -112,17 +84,29 @@ func handleConnection(conn net.Conn) {
11284 conn .Close ()
11385 return
11486 }
115-
116- blobHash = ""
117- blobSize = - 1
11887 continue
88+
11989 }
120- if sdBlobHash != "" {
90+
91+ if version >= 1 && hasSDBlobHash && hasSDBlobSize {
92+ sdBlobHash := sdBlobHashValue .(string )
93+ sdBlobSize := int (sdBlobSizeValue .(float64 ))
94+
95+ if len (sdBlobHash ) != 96 || sdBlobSize <= 0 || sdBlobSize > 2097152 {
96+
97+ conn .Close ()
98+ return
99+ }
100+
101+ jsonEncoder .Encode (map [string ]any {
102+ "send_sd_blob" : true , // TODO: Improve response
103+ })
104+
121105 sdBlobData := make ([]byte , sdBlobSize )
122106 _ , err := io .ReadFull (conn , sdBlobData )
123107
124108 //TODO Process SD blob data
125- fmt .Printf ("%+v\n " , sdBlobData )
109+ fmt .Printf ("SD BLOB = %+v\n " , string ( sdBlobData ) )
126110
127111 jsonEncoder .Encode (map [string ]any {
128112 "received_sd_blob" : err == nil ,
@@ -131,9 +115,6 @@ func handleConnection(conn net.Conn) {
131115 conn .Close ()
132116 return
133117 }
134-
135- sdBlobHash = ""
136- sdBlobSize = - 1
137118 continue
138119 }
139120
0 commit comments