@@ -816,13 +816,42 @@ func (c *ModCDPClient) serverConfigureParams(customCommands []map[string]any, cu
816816 }
817817 params := map [string ]any {}
818818 if c .Config .ServerConfig != nil {
819- if c .Config .ServerConfig .Upstream .UpstreamWSCDPURL != "" {
820- hasUpstreamConfig = true
821- upstream ["upstream_ws_cdp_url" ] = c .Config .ServerConfig .Upstream .UpstreamWSCDPURL
819+ serverUpstream := c .Config .ServerConfig .Upstream
820+ if serverUpstream .UpstreamMode != "" {
821+ upstream ["upstream_mode" ] = serverUpstream .UpstreamMode
822+ }
823+ if serverUpstream .UpstreamWSCDPURL != "" {
824+ upstream ["upstream_ws_cdp_url" ] = serverUpstream .UpstreamWSCDPURL
825+ }
826+ if serverUpstream .UpstreamNatsURL != "" {
827+ upstream ["upstream_nats_url" ] = serverUpstream .UpstreamNatsURL
828+ }
829+ if serverUpstream .UpstreamNatsSubjectPrefix != "" {
830+ upstream ["upstream_nats_subject_prefix" ] = serverUpstream .UpstreamNatsSubjectPrefix
831+ }
832+ if serverUpstream .UpstreamNatsRole != "" {
833+ upstream ["upstream_nats_role" ] = serverUpstream .UpstreamNatsRole
834+ }
835+ if serverUpstream .UpstreamNatsWaitTimeoutMS != 0 {
836+ upstream ["upstream_nats_wait_timeout_ms" ] = serverUpstream .UpstreamNatsWaitTimeoutMS
837+ }
838+ if serverUpstream .UpstreamReverseWSBind != "" {
839+ upstream ["upstream_reversews_bind" ] = serverUpstream .UpstreamReverseWSBind
840+ }
841+ if serverUpstream .UpstreamReverseWSWaitTimeoutMS != 0 {
842+ upstream ["upstream_reversews_wait_timeout_ms" ] = serverUpstream .UpstreamReverseWSWaitTimeoutMS
843+ }
844+ if serverUpstream .UpstreamNativeMessagingHostName != "" {
845+ upstream ["upstream_nativemessaging_host_name" ] = serverUpstream .UpstreamNativeMessagingHostName
846+ }
847+ if serverUpstream .UpstreamWSConnectErrorSettleTimeoutMS != 0 {
848+ upstream ["upstream_ws_connect_error_settle_timeout_ms" ] = serverUpstream .UpstreamWSConnectErrorSettleTimeoutMS
849+ }
850+ if serverUpstream .UpstreamCDPSendTimeoutMS != 0 {
851+ upstream ["upstream_cdp_send_timeout_ms" ] = serverUpstream .UpstreamCDPSendTimeoutMS
822852 }
823- if c . Config . ServerConfig . Upstream . UpstreamWSConnectErrorSettleTimeoutMS != 0 {
853+ if len ( upstream ) > 0 {
824854 hasUpstreamConfig = true
825- upstream ["upstream_ws_connect_error_settle_timeout_ms" ] = c .Config .ServerConfig .Upstream .UpstreamWSConnectErrorSettleTimeoutMS
826855 }
827856 if c .Config .ServerConfig .Router .RouterRoutes != nil {
828857 router ["router_routes" ] = c .Config .ServerConfig .Router .RouterRoutes
@@ -1067,7 +1096,7 @@ func (c *ModCDPClient) sendCommand(method string, params map[string]any, cdpSess
10671096 var result any
10681097 if command .Target == "direct_cdp" {
10691098 step := command .Steps [0 ]
1070- result , err = c .Upstream .Send (step .Method , step .Params , step .SessionID )
1099+ result , err = c .Router .Send (step .Method , step .Params , step .SessionID )
10711100 } else if command .Target == "service_worker" {
10721101 if c .Injector == nil || c .Injector .SessionID == "" {
10731102 return nil , fmt .Errorf ("service_worker commands require an injected ModCDP extension target" )
0 commit comments