@@ -3,7 +3,6 @@ package main
33import (
44 "bufio"
55 "bytes"
6- "compress/gzip"
76 "encoding/json"
87 "io"
98 "log"
@@ -24,34 +23,6 @@ import (
2423 "github.com/rs/cors"
2524)
2625
27- func readUploadedText (r io.Reader ) (string , error ) {
28- data , err := io .ReadAll (r )
29- if err != nil {
30- return "" , err
31- }
32-
33- if ! isGzipPayload (data ) {
34- return string (data ), nil
35- }
36-
37- gr , err := gzip .NewReader (bytes .NewReader (data ))
38- if err != nil {
39- return "" , err
40- }
41- defer gr .Close ()
42-
43- decoded , err := io .ReadAll (gr )
44- if err != nil {
45- return "" , err
46- }
47-
48- return string (decoded ), nil
49- }
50-
51- func isGzipPayload (data []byte ) bool {
52- return len (data ) >= 2 && data [0 ] == 0x1f && data [1 ] == 0x8b
53- }
54-
5526type DatabaseResponse struct {
5627 Databases []Params `json:"databases"`
5728}
@@ -179,11 +150,9 @@ func server(jobsystem JobSystem, config ConfigRoot) {
179150 }
180151 defer f .Close ()
181152
182- data , err = readUploadedText (f )
183- if err != nil {
184- http .Error (w , err .Error (), http .StatusBadRequest )
185- return
186- }
153+ buf := new (bytes.Buffer )
154+ buf .ReadFrom (f )
155+ data = buf .String ()
187156 } else {
188157 err := req .ParseForm ()
189158 if err != nil {
@@ -326,11 +295,9 @@ func server(jobsystem JobSystem, config ConfigRoot) {
326295 }
327296 defer f .Close ()
328297
329- query , err = readUploadedText (f )
330- if err != nil {
331- http .Error (w , err .Error (), http .StatusBadRequest )
332- return
333- }
298+ buf := new (bytes.Buffer )
299+ buf .ReadFrom (f )
300+ query = buf .String ()
334301 dbs = req .Form ["database[]" ]
335302 mode = req .FormValue ("mode" )
336303 email = req .FormValue ("email" )
@@ -415,11 +382,9 @@ func server(jobsystem JobSystem, config ConfigRoot) {
415382 }
416383 defer f .Close ()
417384
418- query , err = readUploadedText (f )
419- if err != nil {
420- http .Error (w , err .Error (), http .StatusBadRequest )
421- return
422- }
385+ buf := new (bytes.Buffer )
386+ buf .ReadFrom (f )
387+ query = buf .String ()
423388 dbs = req .Form ["database[]" ]
424389 mode = req .FormValue ("mode" )
425390 email = req .FormValue ("email" )
@@ -480,11 +445,9 @@ func server(jobsystem JobSystem, config ConfigRoot) {
480445 }
481446 defer f .Close ()
482447
483- query , err = readUploadedText (f )
484- if err != nil {
485- http .Error (w , err .Error (), http .StatusBadRequest )
486- return
487- }
448+ buf := new (bytes.Buffer )
449+ buf .ReadFrom (f )
450+ query = buf .String ()
488451 mode = req .FormValue ("mode" )
489452 email = req .FormValue ("email" )
490453 } else {
@@ -517,7 +480,7 @@ func server(jobsystem JobSystem, config ConfigRoot) {
517480 }
518481
519482 ticketFoldMasonMSAHandlerFunc := func (w http.ResponseWriter , req * http.Request ) {
520- var queries []string
483+ var queries [][] byte
521484 var fileNames []string
522485 var gapOpen int64
523486 var gapExtend int64
@@ -543,20 +506,19 @@ func server(jobsystem JobSystem, config ConfigRoot) {
543506 }
544507 defer file .Close ()
545508
546- query , err := readUploadedText (file )
547- if err != nil {
548- http .Error (w , err .Error (), http .StatusBadRequest )
549- return
550- }
551- queries = append (queries , query )
509+ buf := new (bytes.Buffer )
510+ buf .ReadFrom (file )
511+ queries = append (queries , buf .Bytes ())
552512 }
553513 } else {
554514 err := req .ParseForm ()
555515 if err != nil {
556516 http .Error (w , err .Error (), http .StatusBadRequest )
557517 return
558518 }
559- queries = req .Form ["queries[]" ]
519+ for _ , query := range req .Form ["queries[]" ] {
520+ queries = append (queries , []byte (query ))
521+ }
560522
561523 }
562524 fileNames = req .Form ["fileNames[]" ]
@@ -601,11 +563,9 @@ func server(jobsystem JobSystem, config ConfigRoot) {
601563 }
602564 defer f .Close ()
603565
604- query , err = readUploadedText (f )
605- if err != nil {
606- http .Error (w , err .Error (), http .StatusBadRequest )
607- return
608- }
566+ buf := new (bytes.Buffer )
567+ buf .ReadFrom (f )
568+ query = buf .String ()
609569 dbs = req .Form ["database[]" ]
610570 //mode = req.FormValue("mode")
611571 email = req .FormValue ("email" )
0 commit comments