dial tcp: протокол недоступен иди тест веб-сборки - PullRequest
1 голос
/ 27 апреля 2019

Попытка протестировать функцию веб-сборки, которая запускает POST-запрос.

Получите следующую ошибку:

firePing_test.go:40: ERROR ON POST REQUEST: Post https://not-the-real-api.execute-api.us-east-1.amazonaws.com/testing: dial tcp: Protocol not available

Продолжительность: Ubuntu 18.04.2 LTS go версия go1.12.2 linux / amd64

Я проверил, что функция действительна и отправит запрос при выполнении в Chrome. Тест также проходит при компиляции для linux / amd64.

Функция задачи:

// FirePing fires a ping
func FirePing(protocol *string, domain *string, params *map[string]string) (*http.Response, error) {

    // Marshal map into POST request body
    reqBody, err := json.Marshal(*params)
    if err != nil {
        return  nil, fmt.Errorf("ERROR ON MARSHAL OF PARAMS: %v", err)
    }

    // Send POST request
    req, err := http.NewRequest("POST", *protocol + "://" + *domain, bytes.NewBuffer(reqBody))
    if err != nil {
        return  nil, fmt.Errorf("ERROR ON FORMING REQUEST: %v", err)
    }
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        return nil,fmt.Errorf("ERROR ON POST REQUEST: %v",err)
    }

    return resp, nil
}

Вызов функции проверки задачи:

// FirePing and receive response
    resp, err := FirePing(&config.Config.Protocol, &config.Config.Domain, &m)
    if err != nil {
        t.Error(err)
        return
    }

Должен пройти этот тестовый пример, так как он прекрасно выполняет вызов функции в браузере.

Единственное другое место, где я видел это:

http.Get возвращает протокол недоступен ошибка

Какие швы должны быть с детской площадки, отключая соединения TCP. Я запускаю этот тест локально

1 Ответ

1 голос
/ 27 апреля 2019

Релиз MVP был ориентирован исключительно на запуск WASM в браузере.Таким образом, API-интерфейсы браузера не допускают произвольных соединений TCP / IP, и поэтому WASM одинаково ограничен.Тем не менее, у WASM всегда были амбиции выйти за рамки браузера.Последняя инициатива под названием WASI добавит функции, необходимые для использования вне браузера, такие как File I / O и сетевые примитивы.

...