Как передать тип модели в веб-сокет Boost Beast - PullRequest
1 голос
/ 02 апреля 2019

Я работаю с c ++ 11, библиотекой beast и веб-службой речи IBM в текст.

Интерфейсу веб-сокета (для подключения) требуется authentication token в качестве заголовка запроса при выполнении рукопожатия.

Ссылаясь на этот код , доступный в документах Watson, похоже, что я должен передать тип модели (если я хочу) в качестве заголовка запроса тоже

var IAM_access_token = '{access_token}';
var wsURI = 'wss://stream.watsonplatform.net/speech-to-text/api/v1/recognize'
     + '?access_token=' + IAM_access_token
     + '&model=es-ES_BroadbandModel';
var websocket = new WebSocket(wsURI);

Также существует формат запроса скручивания , упомянутый для установки "модель"

curl -X POST -u "apikey:{apikey}"
--header "Content-Type: audio/flac"
--data-binary @{path}audio-file.flac
"https://stream.watsonplatform.net/speech-to-text/api/v1/recognize?model=en-US_NarrowbandModel"

Может кто-нибудь подсказать мне, как передать "модель" в мой веб-сокет (используя beast в c ++ 11)?

Вот как я передаю токен аутентификации:

mWebSocket.async_handshake_ex(mHost, "/speech-to-text/api/v1/recognize",
        [mToken](request_type& reqHead) {
            reqHead.insert(http::field::authorization,mToken);},
        bind(&IbmWebsocketSession::send_start, shared_from_this(), placeholders::_1));

1 Ответ

0 голосов
/ 03 апреля 2019

В соответствии с предложением @ALanBirtles

Помещение полученного model в URL как

    mWebSocket.async_handshake_ex(mHost, "/speech-to-text/api/v1/recognize?model=en-US_NarrowbandModel",...

Работает

...