@@ -24,14 +24,30 @@ func (s *Service) peerConnectHandler(w http.ResponseWriter, r *http.Request) {
2424
2525 mux .Vars (r )["multi-address" ] = "/" + mux .Vars (r )["multi-address" ]
2626 paths := struct {
27- MultiAddress multiaddr. Multiaddr `map:"multi-address" validate:"required"`
27+ MultiAddress string `map:"multi-address" validate:"required"`
2828 }{}
2929 if response := s .mapStructure (mux .Vars (r ), & paths ); response != nil {
3030 response ("invalid path params" , logger , w )
3131 return
3232 }
3333
34- bzzAddr , err := s .p2p .Connect (r .Context (), []multiaddr.Multiaddr {paths .MultiAddress })
34+ mAddr , err := multiaddr .NewMultiaddr (paths .MultiAddress )
35+ if err != nil {
36+ logger .Debug ("invalid multiaddress" , "address" , paths .MultiAddress , "error" , err )
37+ jsonhttp .BadRequest (w , jsonhttp.StatusResponse {
38+ Code : http .StatusBadRequest ,
39+ Message : "invalid path params" ,
40+ Reasons : []jsonhttp.Reason {
41+ {
42+ Field : "multi-address" ,
43+ Error : err .Error (),
44+ },
45+ },
46+ })
47+ return
48+ }
49+
50+ bzzAddr , err := s .p2p .Connect (r .Context (), []multiaddr.Multiaddr {mAddr })
3551
3652 if err != nil {
3753 logger .Debug ("p2p connect failed" , "addresses" , paths .MultiAddress , "error" , err )
0 commit comments