lambdalisue / vim-gista

An alternative gist.vim, vim plugin which manipulate gists in Vim.
http://www.vim.org/scripts/script.php?script_id=4976
MIT License
156 stars 5 forks source link

:Gista login respond HTTP502 Bad Gateway #50

Closed hokorobi closed 8 years ago

hokorobi commented 8 years ago

db108a1d54 において :Gista login --apiname=GitHub --username=hokorobi を実行してパスワードを入力すると、 (おそらく)タイムアウト後に以下のようなメッセージが表示されてログイン出来ませんでした。

dib bitmap

何かおかしそうなところがあれば情報をいただけると助かります。

Windows7 kaoriya Vim 7.4.1016 (2016/01/01版) 64bit curl 7.43.0 (x86_64-pc-msys) libcurl/7.43.0 OpenSSL/1.0.2d zlib/1.2.8 libidn/1.31 libssh2/1.6.0

toshi32tony3 commented 8 years ago

私の環境でも再現しました。

エラーメッセージの内容はhokorobiさんと同様です。 pythonは使える環境です。has('python')すると1が返ってきます。

toshi32tony3 commented 8 years ago

すみません、Requirementsのwgetが入っていませんでした。入れて再現するか確認してから、また報告します。 → curlが入っていたのでwgetは関係なかったです。はやとちりですみません。再現したので、原因には関係無さそうです。

lambdalisue commented 8 years ago

なるほど、うーん Windows 限定で python クライアントでのログインができないのかもしれません。 Windows の場合は強制的に curlwget を利用するようにしてみたので fix/authorize_HTTP502_in_Windows ブランチを試してみていただけませんか?

hokorobi commented 8 years ago

fix/authorize_HTTP502_in_Windows でも同じ結果でした。

私の場合はおそらく curl を使っています。 curl を PATH から外すとエラーが表示されるので。 curl を外して wget を入れてもエラーになります。 なぜそうなるのかはわかっていません。

toshi32tony3 commented 8 years ago

fix/authorize_HTTP502_in_Windowsで、 curlのみ、wgetのみパス通した状態で試してみましたが同じ結果になってしまいました。 →両方使える環境で試していたみたいです…すみません。wgetのみにしたらログインできました。

hokorobi commented 8 years ago

curl から直接 gista が実行しているコマンドを叩いてみようと思うのですが、 コマンドを教えていただけませんか? > @lambdalisue

lambdalisue commented 8 years ago

@hokorobi コマンドを echomsg するようにしてみました。fix/authorize_HTTP502_in_Windows チェックアウト後に :Gista login を行って見てください。なおパスワードが echo されるはずなので、結果を貼り付ける場合などは気をつけてください

lambdalisue commented 8 years ago

http://lingr.com/room/vim/archives/2016/01/14#message-22938744

lambdalisue commented 8 years ago

Note: v1 では https://github.com/lambdalisue/vim-gista/blob/d748d3c3281d7e9af171416eedf45c460b0976fa/autoload/gista/gist/raw.vim#L98-L102 のようにしていた。本来は Vital.HTTP の usernamepassword を利用するべきだと思い修正したんだけど・・・

lambdalisue commented 8 years ago

Windows 版 curl のバグ感

  1. authMethod が指定されている場合 python クライアントが利用されない https://github.com/vim-jp/vital.vim/blob/master/autoload/vital/__latest__/Web/HTTP.vim#L291
  2. authMethod が指定されている場合 wget クライアントが利用されない https://github.com/vim-jp/vital.vim/blob/master/autoload/vital/__latest__/Web/HTTP.vim#L567

上記からBASIC認証でも必ず curl が利用されるようになっていた模様。

lambdalisue commented 8 years ago

https://github.com/mattn/gist-vim/blob/master/autoload/gist.vim#L943

Content-Type: application/json が必要感

lambdalisue commented 8 years ago

直接の原因は http://lingr.com/room/vim/archives/2016/01/14#message-22939185 のようですが、デフォルトの状態でも動くようにしたほうが良いと思ったのでアップデートしました。たぶん上記のようなことをしなくても https://github.com/lambdalisue/vim-gista/commit/14425fb263f19789800040611a5bf464716556de で動くようになったはず・・・です。

ご確認お願いします

P.S. +python が優先されることを利用しているので -python の Windows の場合は上記の手順を踏む必要があります。

hokorobi commented 8 years ago

コメントが前後しましたが残しておきます。


msys curl を使用しているのが原因でした。 mingw64 curl を使うことで問題を解消できました。

mingw64 curl インストールコマンド pacman -S mingw-w64-x86_64-curl

インストールをしても環境変数 PATH を変更しないと msys curl を使うと思うので、 C:\msys64\usr\bin の前に C:\msys64\mingw64\bin; を加えました。

$ curl -V curl 7.46.0 (x86_64-w64-mingw32) libcurl/7.46.0 OpenSSL/1.0.2e zlib/1.2.8 libidn/1.32 libssh2/1.6.0 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp Features: IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP

lambdalisue commented 8 years ago

@lambdalisue READMEかWikiにメモを残す

toshi32tony3 commented 8 years ago

前回のコメントは一部間違っていたので、修正しました。

たぶん上記のようなことをしなくても 14425fb で動くようになったはず・・・です。

masterで+python, msysのcurl、拾ってきたwgetのpathが通った状態でログインできることを確認しました。 ありがとうございました。

hokorobi commented 8 years ago

msys curl でも動作しました!

hokorobi commented 8 years ago

クローズしますが、Todo 的に残すなら再オープンしてください。

lambdalisue commented 8 years ago

;-)

lambdalisue commented 8 years ago

README に追加しました https://github.com/lambdalisue/vim-gista/blob/6391e539e105cad8b6deb8b985906be6b0723bc2/doc/vim-gista.txt#L641-L661

hokorobi commented 8 years ago

:+1: