code: func (client *Client) RequestWithContext(ctx context.Context, command Command) (interface{}, error) {
  	switch c := command.(type) {
  	case AsyncCommand:
  		return client.asyncRequest(ctx, c)
  	default:
  		return client.SyncRequestWithContext(ctx, command)
  	}
  }
docs: // RequestWithContext preforms a command with a context