Send forwards the message to the specific provider connection and returns a channel yielding response messages.
(ctx context.Context, provider string, msg Message)
| 162 | // Send forwards the message to the specific provider connection and returns a channel |
| 163 | // yielding response messages. |
| 164 | func (m *Manager) Send(ctx context.Context, provider string, msg Message) (<-chan Message, error) { |
| 165 | s := m.session(provider) |
| 166 | if s == nil { |
| 167 | return nil, fmt.Errorf("wsrelay: provider %s not connected", provider) |
| 168 | } |
| 169 | return s.request(ctx, msg) |
| 170 | } |
| 171 | |
| 172 | func (m *Manager) session(provider string) *session { |
| 173 | key := strings.ToLower(strings.TrimSpace(provider)) |