@proGO

Страница 343 из 1674
Maxim
18.12.2016
17:10:06
Я как раз сюда выполз потому что застрял немного

небольшие посиделки для тех, кому интересен мой говнокод, например: https://www.livecoding.tv/toby3d/

Мне надо как-то в POST запрос тельце засунуть. Вроде бы JSON, судя по докам. Но не выходит нихрена.

corpix
18.12.2016
17:37:58
Мне надо как-то в POST запрос тельце засунуть. Вроде бы JSON, судя по докам. Но не выходит нихрена.
Если есть объект Request то: 1. Выставить content-type, accept 2. Посчитать content-length(тут я не уверен, может fasthttp делает хотябы это за тебя) 3. Установить тело https://godoc.org/github.com/valyala/fasthttp#Request.SetBody

Google
corpix
18.12.2016
17:40:59
Хммм, ну тогда я бы посмотрел в дамп траффика и поискал странности. Выглядит необычно

Чтоб сдампить трафф можно использовать например https://mitmproxy.org/ Если у ресурса есть https то надо будет поставить дополнительные сертификаты http://docs.mitmproxy.org/en/stable/certinstall.html Правда я не вижу чтобы fasthttp брал настройки прокси из окружения https://github.com/valyala/fasthttp/search?utf8=%E2%9C%93&q=_proxy&type=Code Так что возможно придётся менять что-то в коде, либо подшаманить hosts

Maxim
18.12.2016
17:58:12
Похоже Marshal недостаточно, чтобы корректно скормить данные в реквест

Я сначала делаю структуру, заполняю её, затем делаю Marshal и уже его выхлоп пихаю в Post

corpix
18.12.2016
18:01:50
Этого должно быть достаточно

Проверь content-length на всякий случай ещё раз, из-за неправильного значения в этом поле сервер может не принимать запрос. Вроде он должен >=400 статус вернуть в этом случае

А вообще, самый действенный способ найти непонятную багу - поснифать :)

Kirill
18.12.2016
18:06:35
Блин, и что делать тогда
искать проблему в запросе

опять же, Макс, еще раз — заюзай dlog. с ним удобно дебажить, в том числе такое.

corpix
18.12.2016
18:07:21
Вообще если там именно 400 то скорее всего проблема в каком-то из полей запроса, а не в content-length. Я к сожалению не помню точно, но кажется что 400 на проблемы с content-length не отвечают

Google
Maxim
18.12.2016
18:08:15
Короче, суть в том, что если отправлять данные как аргументы, то всё ок, если отправлять те же данные как байты через Marshal, то всё ломается

Хотя в доках указано, что логичней было бы байтами слать

corpix
18.12.2016
18:09:40
"как аргументы", это в querystring?

Maxim
18.12.2016
18:09:56
corpix
18.12.2016
18:10:15
Я хз что такое Args в fasthttp к сожалению

Maxim
18.12.2016
18:10:30
Я хз что такое Args в fasthttp к сожалению
var args fasthttp.Args args.Add("app", app.Name) args.Add("authToken", authToken) args.Add("login", login) args.Add("pass", pass) url := APIEndpoint + "/auth/login" code, resp, err := fasthttp.Post(nil, url, &args)

corpix
18.12.2016
18:10:47
А, похоже что это qs, да

Tsundershark
18.12.2016
18:10:58
Что за ад и Израиль? Серьезно надо одновременно querystring+JSON?

corpix
18.12.2016
18:11:14
Интересно. А кодировка в заголовках передаётся?

Maxim
18.12.2016
18:11:59
Интересно. А кодировка в заголовках передаётся?
Вот проверить это наверное не могу, шлю через Post поставляемый в пакете fasthttp

Вот где я свои PUT/DELETE/UPDATE строил там да, могу назначать параметры потоньше

corpix
18.12.2016
18:12:54
Эх, ну тогда истину покажет снифер

Maxim
18.12.2016
18:15:34
Заголовки вроде верные: 2016/12/18 23:14:54 POST /auth/login HTTP/1.1 User-Agent: fasthttp Host: api.hitbox.tv Content-Type: application/json Content-Length: 76

Мда, теперь пашет, когда Я с коробочного Post на самописный перешел

Песец, конечно.

corpix
18.12.2016
18:17:56
Забавно. Как выглядит самописный?

Maxim
18.12.2016
18:18:19
И снова про fasthttp - явных ошибок нет, но может я что неправильно прописал? func delete(dst []byte, url string, args *fasthttp.Args) ([]byte, error) { var req fasthttp.Request req.Header.SetMethod("DELETE") req.SetRequestURI(url) if dst != nil { req.SetBody(dst) } if args != nil { args.WriteTo(req.BodyWriter()) } var resp fasthttp.Response err := fasthttp.Do(&req, &resp) if err != nil { return nil, err } return resp.Body(), nil }

corpix
18.12.2016
18:24:16
Лол https://github.com/valyala/fasthttp/blob/1c39678a4dd0122de1b9a7e14e49b3e99b7d60b9/client.go#L136-L140 https://github.com/valyala/fasthttp/blob/1c39678a4dd0122de1b9a7e14e49b3e99b7d60b9/client.go#L280 https://github.com/valyala/fasthttp/blob/1c39678a4dd0122de1b9a7e14e49b3e99b7d60b9/client.go#L735 https://github.com/valyala/fasthttp/blob/ec59ce31a656938f535b81ca2aa344d6ed962dbe/strings.go#L67

Google
corpix
18.12.2016
18:24:25
Не верный content-type

Т.е. он всегда application/x-www-form-urlencoded для изкоробочного Post()

Maxim
18.12.2016
18:25:56
Блин

Он был мне как брат. Как так-то?

corpix
18.12.2016
18:28:17
Дерьмо случается Тут ещё норм вроде, не так много private'а, в отличие от http в std. Можно на библиотечных примитивах строить свои

Roman
18.12.2016
18:28:45
Я спрошу на всякий случай. До реализации программы ты в ручную запрос проверяешь каким нибудь браузерным плагином?

Kirill
18.12.2016
18:28:58
Он был мне как брат. Как так-то?
всякое бывает. кинь в него ежа

Maxim
18.12.2016
18:30:05
Если что, Я на стриме тихо матерюсь на валялу. хД

corpix
18.12.2016
18:33:07
Я спрошу на всякий случай. До реализации программы ты в ручную запрос проверяешь каким нибудь браузерным плагином?
Кстати мне тоже интересно Я знаю что многие используют postman Сам не очень люблю браузерные плагины и использую curl :)

А ещё https://github.com/pashky/restclient.el (емаксеры поймут)

Kirill
18.12.2016
18:36:36
только все залагало

Kirill
18.12.2016
18:36:58
мата не слышно

чот отлагало даже

Sergey
18.12.2016
18:50:29
эх, словил такую ошибку https://youtrack.jetbrains.com/issue/GO-2931 придётся ждать фикса(

Valentin
18.12.2016
19:08:51
Кто нибудь уже получил доступ к тесту JetBrains Gogland? Интересно было бы услышать как IDE

Valentin
18.12.2016
19:11:40
а есть dmg под мак?

Kirill
18.12.2016
19:11:50
кстати, давно об IDE не говорили. слышали о новой IDE от jetbrains?

а есть dmg под мак?
да. смотри ссылки. мою копию сюда заливали.

Google
Valentin
18.12.2016
19:12:33
ок, глянем

чет не нашел(

или просмотрел

зато нашел интересную ссылку на LiveCoding Maxim Lebedev, надо глянуть

еще и с одной области смотрю оказывается

Admin
ERROR: S client not available

Valentin
18.12.2016
19:21:17
о, спасибо большое :)

Maxim
18.12.2016
19:21:18
Охудеть

Valentin
18.12.2016
19:21:47
:)

Maxim
18.12.2016
19:23:08
:)
А город какой?

andretshurotshka?❄️кде
18.12.2016
19:23:15
err != nil ? doSomething() : fail()
мб лучше if как expression разрешить

Valentin
18.12.2016
19:23:19
Миасс

Частично закрытый был в СССР, кстати, Ваш город всё еще закрытый или свободный?

Valentin
18.12.2016
19:27:33
вот
чет не качает, а кто раздает? встаньте плиз кто нибудь минут на 10-25

Kirill
18.12.2016
19:27:56
@mr_tron магнит еще работает?

Valentin
18.12.2016
19:34:43
ссылкой бы расшарили на Яндекс.Диске или дропбоксе да и всё, торрент пришлось ставить :)

Kirill
18.12.2016
19:35:20
да не я раздавать решил же

Google
Maxim
18.12.2016
19:50:03
Сыпасиба всем кто на стрим заходил. Завтра продолжу, так что если админы не против - я перекину анонс сюда, как начну.

А вообще типа подписывайтесь на мой телеграм и стриминговые каналы, все дела. ?

Kirill
18.12.2016
19:50:48
рекламкэ

а вообще я подписался

подписывайтесь на репу, что ли: https://github.com/goodlang/good

</ads>

Kirill
18.12.2016
19:52:51
это что за форк Go?
а ты не застал?

Valentin
18.12.2016
19:53:06
неа, я тут месяц наверно не сидел

Maxim
18.12.2016
19:56:22
Кстати, кому как ВКшечка без API для аудиозаписей?

https://soundcloud.com/nixhlestakov/rip-vk-audios

Sergey
18.12.2016
19:57:35
Кстати, кому как ВКшечка без API для аудиозаписей?
я вчера сразу на гугломьюзик пересел

Страница 343 из 1674