Анализ необработанного http-запроса из строки — > Неожиданный EOF

# #http #go #https

Вопрос:

Учитывая следующий код, я бы ожидал http.ReadRequest , что он вернет действительный запрос, который затем можно будет использовать в дальнейшем. Однако я получаю следующее сообщение об ошибке: panic: unexpected EOF и я не знаю, как я могу заставить это работать. Заранее спасибо за вашу помощь!

 package main

import (
    "bufio"
    "net/http"
    "strings"
)

func main() {
    s := `GET https://httpbin/get HTTP/1.1`

    req, err := http.ReadRequest(bufio.NewReader(strings.NewReader(s)))

    if err != nil {
        panic(err)
    }

    _ = req

}

 

https://go.dev/play/p/NLsBW_Vvquw

Комментарии:

1. Функция возвращает ошибку неожиданного окончания файла, поскольку ввод является неполным запросом. Добавьте два завершителя строк к данным в вопросе, чтобы создать полный запрос.

2. Всегда ли для запроса требуется два окончания строки в стандарте?

3. Да. en.wikipedia.org/wiki/…