Size: a a a

2019 February 20

EP

Evgenii Perov in pro.elixir
Есть работающий вариант этого запроса на curl:
curl
-H "AUTHENTICATION: HMAC GPLDIS8H7N5KY8DG:c6881c8bbcee2daceb5d8c2bb54078702bca23d828d7468afeb2f6ed0f25366f:1549890568"
-X GET
-d '{"customer_id":"Chrome","customer_ip":"127.0.0.1"}' 'https://testrest.vload.expert/voucher/validate/2698937783822253/Chrome/11234576536'
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я думаю что нельзя body в get запросе
источник

EP

Evgenii Perov in pro.elixir
Вообще ни в ерланге ни в эликсире?
источник

EP

Evgenii Perov in pro.elixir
Хотя конечно, зачем позволять делать такие глупости...
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ни в эрланге ни в эликсире - глупый вопрос. Это один и тот же код
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но вообще то body в get - в спеке HTTP1.1
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Так что может это и глупость, но они проебались
источник

ŹR

Źmićer Rubinštejn in pro.elixir
request(Method, 
 {Url, Headers, ContentType, TupleBody},
 HTTPOptions, Options, Profile)
 when ((Method =:= post) orelse (Method =:= patch) orelse (Method =:= put) orelse (Method =:= delete))
      andalso (is_atom(Profile) orelse is_pid(Profile)) andalso
      is_list(ContentType)  andalso is_tuple(TupleBody)->
   case check_body_gen(TupleBody) of
 ok ->
     do_request(Method, {Url, Headers, ContentType, TupleBody}, HTTPOptions, Options, Profile);
 Error ->
     Error
   end;
request(Method,
 {Url, Headers, ContentType, Body},
 HTTPOptions, Options, Profile)
 when ((Method =:= post) orelse (Method =:= patch) orelse (Method =:= put) orelse (Method =:= delete))
      andalso (is_atom(Profile) orelse is_pid(Profile)) andalso
      is_list(ContentType) andalso (is_list(Body) orelse is_binary(Body)) ->
   do_request(Method, {Url, Headers, ContentType, Body}, HTTPOptions, Options, Profile);

request(Method,
 {Url, Headers},
 HTTPOptions, Options, Profile)
 when (Method =:= options) orelse
      (Method =:= get) orelse
      (Method =:= put) orelse
      (Method =:= head) orelse
      (Method =:= delete) orelse
      (Method =:= trace) andalso
      (is_atom(Profile) orelse is_pid(Profile)) ->
   case uri_string:parse(uri_string:normalize(Url)) of
 {error, Reason, _} ->
     {error, Reason};
 ParsedUrl ->
     case header_parse(Headers) of
   {error, Reason} ->
       {error, Reason};
   _ ->
       handle_request(Method, Url, ParsedUrl, Headers, [], [],
          HTTPOptions, Options, Profile)
     end
end.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Сперва матчат when ((Method =:= post) orelse (Method =:= patch) orelse (Method =:= put) orelse (Method =:= delete))
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Пидары
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ну или я проебался, и это можно сделать, а я просто не правильно понял erlang код httpc
источник

EP

Evgenii Perov in pro.elixir
httpc вообще отказывается отправлять запрос, если у get есть какое-то body
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Можешь написать в спортлото, а потом взять hackney.
Зато ты будешь знать ЗАЧЕМ ты его взял
источник

AB

Alexander Bogosyan in pro.elixir
а вот кстати почему hackney а не какой-нибуль gun?
источник

AB

Alex Bubnov in pro.elixir
Alexander Bogosyan
а вот кстати почему hackney а не какой-нибуль gun?
Потому что в нем уже есть примерно всё, а для gun нужно много писать руками
источник

AM

Azat Murtazin in pro.elixir
источник

AM

Azat Murtazin in pro.elixir
Ящитаю, что не стоит в гет-запросе отправлять боди, ибо совместимость с хттп-1.0
источник

AM

Azat Murtazin in pro.elixir
По логике rest-api гет является какбы НЕ мутирующим информационным запросом, если по какой-то причине твои данные не помещаются в квери-стринг и ты прям сильно хочешь их запихнуть в боди, то что-то блин с архитектурой твоего приложения пошло не так
источник

SK

Simon Khaskelberg in pro.elixir
Ну не факт, что там rest
источник

AM

Azat Murtazin in pro.elixir
Тогда, короч берешь тцп-сокет и шлешь что твоей душе угодно
источник