@@ -126,7 +126,7 @@ defmodule ChromeRemoteInterface.PageSession do
126126 end
127127
128128 def handle_cast ( { :cast_command , method , params , from } , state ) do
129- send_rpc_request ( state , method , params )
129+ send ( self ( ) , { :send_rpc_request , state . ref_id , state . socket , method , params } )
130130
131131 new_state =
132132 state
@@ -137,7 +137,7 @@ defmodule ChromeRemoteInterface.PageSession do
137137 end
138138
139139 def handle_call ( { :call_command , method , params } , from , state ) do
140- send_rpc_request ( state , method , params )
140+ send ( self ( ) , { :send_rpc_request , state . ref_id , state . socket , method , params } )
141141
142142 new_state =
143143 state
@@ -216,15 +216,16 @@ defmodule ChromeRemoteInterface.PageSession do
216216 { :noreply , % { state | callbacks: callbacks } }
217217 end
218218
219- defp send_rpc_request ( state , method , params ) do
219+ def handle_info ( { :send_rpc_request , ref_id , socket , method , params } , state ) do
220220 message = % {
221- "id" => state . ref_id ,
221+ "id" => ref_id ,
222222 "method" => method ,
223223 "params" => params
224224 }
225225
226226 json = Poison . encode! ( message )
227- WebSockex . send_frame ( state . socket , { :text , json } )
227+ WebSockex . send_frame ( socket , { :text , json } )
228+ { :noreply , state }
228229 end
229230
230231 defp add_callback ( state , from ) do
0 commit comments