code: func (remote *RemoteDebugger) sendRawReplyRequest(method string, params Params) ([]byte, error) {
  	remote.Lock()
  	if remote.ws == nil {
  		remote.Unlock()
  		return nil, ErrorClose
  	}
  
  	responseChan := make(chan json.RawMessage, 1)
  	reqID := remote.reqID
  	remote.responses[reqID] = responseChan
  	remote.reqID++
  	remote.Unlock()
  
  	command := Params{
  		"id":     reqID,
  		"method": method,
  		"params": params,
  	}
  
  	remote.requests <- command
  	reply := <-responseChan
  
  	remote.Lock()
  	delete(remote.responses, reqID)
  	remote.Unlock()
  
  	return reply, nil
  }
docs: // sendRawReplyRequest sends a request and returns the reply bytes.