@@ -21,7 +21,6 @@ import (
2121 "github.com/HyperloopUPV-H8/h9-backend/internal/excel/utils"
2222 "github.com/HyperloopUPV-H8/h9-backend/internal/info"
2323 "github.com/HyperloopUPV-H8/h9-backend/internal/pod_data"
24- "github.com/HyperloopUPV-H8/h9-backend/internal/server"
2524 "github.com/HyperloopUPV-H8/h9-backend/internal/update_factory"
2625 vehicle_models "github.com/HyperloopUPV-H8/h9-backend/internal/vehicle/models"
2726 "github.com/HyperloopUPV-H8/h9-backend/pkg/abstraction"
@@ -31,6 +30,12 @@ import (
3130 logger_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/logger"
3231 message_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/message"
3332 order_topic "github.com/HyperloopUPV-H8/h9-backend/pkg/broker/topics/order"
33+ h "github.com/HyperloopUPV-H8/h9-backend/pkg/http"
34+ "github.com/HyperloopUPV-H8/h9-backend/pkg/logger"
35+ data_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/data"
36+ messages_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/messages"
37+ order_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/order"
38+ state_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/state"
3439 "github.com/HyperloopUPV-H8/h9-backend/pkg/transport"
3540 "github.com/HyperloopUPV-H8/h9-backend/pkg/transport/network/sniffer"
3641 "github.com/HyperloopUPV-H8/h9-backend/pkg/transport/network/tcp"
@@ -47,12 +52,6 @@ import (
4752 "github.com/google/gopacket/pcap"
4853 "github.com/pelletier/go-toml/v2"
4954 trace "github.com/rs/zerolog/log"
50-
51- "github.com/HyperloopUPV-H8/h9-backend/pkg/logger"
52- data_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/data"
53- messages_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/messages"
54- order_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/order"
55- state_logger "github.com/HyperloopUPV-H8/h9-backend/pkg/logger/state"
5655)
5756
5857var traceLevel = flag .String ("trace" , "info" , "set the trace level (\" fatal\" , \" error\" , \" warn\" , \" info\" , \" debug\" , \" trace\" )" )
@@ -106,7 +105,6 @@ func main() {
106105 trace .Fatal ().Err (err ).Msg ("Error selecting device" )
107106 panic (err )
108107 }
109- config .Vehicle .Network .Interface = dev .Name
110108
111109 vehicleOrders , err := vehicle_models .NewVehicleOrders (podData .Boards , config .Excel .Parse .Global .BLCUAddressKey )
112110 if err != nil {
@@ -224,36 +222,41 @@ func main() {
224222 vehicle .SetTransport (transp )
225223
226224 // <--- http server --->
225+ podDataHandle , err := h .HandleDataJSON ("podData.json" , pod_data .GetDataOnlyPodData (podData ))
226+ if err != nil {
227+ fmt .Fprintf (os .Stderr , "error creating podData handler: %v\n " , err )
228+ }
229+ orderDataHandle , err := h .HandleDataJSON ("orderData.json" , vehicleOrders )
230+ if err != nil {
231+ fmt .Fprintf (os .Stderr , "error creating orderData handler: %v\n " , err )
232+ }
227233 uploadableBords := common .Filter (common .Keys (info .Addresses .Boards ), func (item string ) bool {
228234 return item != config .Excel .Parse .Global .BLCUAddressKey
229235 })
230-
231- endpointData := server.EndpointData {
232- PodData : pod_data .GetDataOnlyPodData (podData ),
233- OrderData : vehicleOrders ,
234- ProgramableBoards : uploadableBords ,
235- }
236-
237- serverHandler , err := server .New (upgrader , endpointData , config .Server )
236+ programableBoardsHandle , err := h .HandleDataJSON ("programableBoards.json" , uploadableBords )
238237 if err != nil {
239- trace .Fatal ().Err (err ).Msg ("Error creating server" )
240- panic (err )
238+ fmt .Fprintf (os .Stderr , "error creating programableBoards handler: %v\n " , err )
241239 }
242240
243- errs := serverHandler .ListenAndServe ()
241+ for _ , server := range config .Server {
242+ mux := h .NewMux (
243+ h .Endpoint ("/backend" + server .Endpoints .PodData , podDataHandle ),
244+ h .Endpoint ("/backend" + server .Endpoints .OrderData , orderDataHandle ),
245+ h .Endpoint ("/backend" + server .Endpoints .ProgramableBoards , programableBoardsHandle ),
246+ h .Endpoint (server .Endpoints .Connections , upgrader ),
247+ h .Endpoint (server .Endpoints .Files , h .HandleStatic (server .StaticPath )),
248+ )
249+
250+ httpServer := h .NewServer (server .Addr , mux )
251+ go httpServer .ListenAndServe ()
252+ }
244253
245254 interrupt := make (chan os.Signal , 1 )
246255 signal .Notify (interrupt , os .Interrupt )
247256
248- for {
249- select {
250- case err := <- errs :
251- trace .Error ().Err (err ).Msg ("Error in server" )
252-
253- case <- interrupt :
254- trace .Info ().Msg ("Shutting down" )
255- return
256- }
257+ for range interrupt {
258+ trace .Info ().Msg ("Shutting down" )
259+ return
257260 }
258261}
259262
0 commit comments