I can't seem to get Faraday.get
to accept the user:pass@host syntax from a url and respect it. Não consigo fazer Faraday.get
aceitar a sintaxe user:pass@host de um URL e respeitá-lo.
Reproducing with Faraday 0.9.0 Reproduzindo com Faraday 0.9.0
Faraday.get("http://foo:bar<strong i="9">@localhost</strong>:3333/test")
The "server" O servidor"
% nc -l localhost 3333
GET /test HTTP/1.1
User-Agent: Faraday v0.9.0
Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept: */*
Connection: close
Host: localhost:3333
I expected an Authentication header, or perhaps an error that auth wasn't supported. Eu esperava um cabeçalho de autenticação ou talvez um erro de que a autenticação não era suportada.
I couldn't find docs on the Faraday.get
method on rubydoc.info for the Faraday module: http://www.rubydoc.info/gems/faraday/Faraday - so I'm not sure what I'm doing wrong. Não consegui encontrar documentos no método Faraday.get
em rubydoc.info para o módulo Faraday: http://www.rubydoc.info/gems/faraday/Faraday - então não tenho certeza do que estou fazendo errado.
If you point me in the write direction, I am happy to write documentation for this method. Se você me indicar a direção de gravação, ficarei feliz em escrever a documentação para esse método.
enThere are several ways you can set authentication headers with Faraday. Existem várias maneiras de definir cabeçalhos de autenticação com Faraday. One way is to initialize a Faraday::Connection
instance and use the basic_auth
helper method: Uma maneira é inicializar uma instância Faraday::Connection
e usar o método auxiliar basic_auth
:
conn = Faraday.new(url: 'http://example.com') # create a new Connection with base URL
conn.basic_auth('user', 'pass') # set the Authentication header
conn.get('/foo') # GET http://example.com/foo
You could also use middleware: Você também pode usar middleware:
conn = Faraday.new(url: 'http://example.com') do |builder|
builder.use Faraday::Request::Retry
builder.use Faraday::Request::BasicAuthentication, 'user', 'pass'
builder.use Faraday::Response::Logger
builder.use Faraday::Adapter::NetHttp
end
conn.get('/foo')
or: ou:
Faraday.new(url: 'http://example.com') do |builder|
builder.request :retry
builder.request :basic_authentication, 'user', 'pass'
builder.response :logger
builder.adapter :net_http
end
conn.get('/foo')
Intridea has a nice blog post on basic Faraday usage that's a few years old but still relevant. A Intridea tem um bom post no blog sobre o uso básico do Faraday que tem alguns anos, mas ainda é relevante.
Hope it helps some, Espero que ajude alguns,
OI OI
Thanks @OI for the helpful examples. Obrigado @OI pelos exemplos úteis.
@jordansissel For now, please use this form: @jordansissel Por enquanto, use este formulário:
conn = Faraday.new('http://example.com')
conn.basic_auth('user', 'pass')
conn.get('/foo')
Sorry for the trouble. Desculpe o incómodo.
enThanks for the pointers, all! Obrigado pelas indicações, todos! It helped me get things working. Isso me ajudou a fazer as coisas funcionarem. ❤️❤️❤️ ❤️❤️❤️
On Tuesday, October 6, 2015, Mislav Marohnić [email protected] Na terça-feira, 6 de outubro de 2015, Mislav Marohnić [email protected]
wrote: escrevi:
enThanks @OI https://github.com/OI for the helpful examples. Obrigado @OI https://github.com/OI pelos exemplos úteis.
@jordansissel https://github.com/jordansissel For now, please use this @jordansissel https://github.com/jordansissel Por enquanto, use este
form: Formato:conn = Faraday.new('http://example.com') conn = Faraday.new('http://example.com')
conn.basic_auth('user', 'pass') conn.basic_auth('usuário', 'pass')
conn.get('/foo') conn.get('/foo')Sorry for the trouble. Desculpe o incómodo.
— —
Reply to this email directly or view it on GitHub Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/lostisland/faraday/issues/426#issuecomment -145914646. https://github.com/lostisland/faraday/issues/426#issuecomment -145914646.
Isso também foi relatado como # 343.
enmais simples:
Faraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")
Comentários muito úteis
mais simples:
enFaraday.get('http://localhost:3000', nil, authorization: "Bearer 1123")