問題タブ [gorilla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - golang.org/x/net/websocket と比較したゴリラ WebSocket
Gorilla Websockets Projectによると、 golang.org/x/net/websocketを使用して ping と pong を送信することはできません。同時に、以下はgolang.org/x/net/websocketのプロジェクト ページにあります。
パッケージ websocket は、RFC 6455 で指定されている WebSocket プロトコルのクライアントとサーバーを実装します。
私は少し混乱しています。golang.org/x/net/websocketは RFC 6455 を実装していますが、制御フレーム (cancel、ping、pong) を送信できませんが、これはRFC 6455 - Section Control Framesで指定されています。
golang.org/x/net/websocketパッケージを使用するとどうなるでしょうか。タイムアウト後に接続は中止されますか? 言い換えれば、接続が切断されないことをここでどのように保証しますか。
go - mux.Vars が機能しない
HTTPS (ポート 10443) で実行しており、サブルートを使用しています。
そして機能:
okでfalseあり、その理由がわかりません。URLの後に簡単なことをしてい?type=modelます..
session - クライアントからの CORS でゴリラ セッションが機能しない
Go rest api をセットアップしました。そして、ログイン時にこれを行います:
セッションをチェックするために、私は次のようなものを持っています:
郵便配達員からのリクエストでは問題なく動作しますが、クライアントからのリクエストでは 401 が返されます。ストアは CookieStore です。
私はすでにIDをチェックしました.sessionId変数を静的文字列に置き換えました. ゴリラ セッションはゴリラ コンテキストを使用して新しいリクエストを登録します。ポストマンからのリクエストcontext.data[r]は null ではありませんが、クライアントからは常に null -> 常に新しいセッションです。
https://github.com/gorilla/context/blob/master/context.go - 33行目
それは呼び出されます
https://github.com/gorilla/sessions/blob/master/sessions.go - 122行目
これは CookieStore.Get 関数で使用されます
https://github.com/gorilla/sessions/blob/master/store.go - 77行目
EDIT 1:クライアントにはポリマーを使用し、xmlhttpも試しました。ポリマー:
そしてハンドラー
Cookie はバックエンドに正常に到達します。
そしてxmlhttp:
編集2:
そこで、フィドラーでデバッグを試みました(提案に感謝します)。郵便配達員からのリクエストには太字のエントリがCookies / Loginあり、クライアントからのリクエストには含まれていないことがわかりました。その値を取得/設定する方法はありますか? Postmanでどういうわけか自動的に設定されます。認証リクエストで、必要なすべてのデータを含む set-cookie ヘッダーを取得しますが、クライアントで取得できません。私は得るRefused to get unsafe header set-cookie。
go - 特定のルートでゴリラマルチプレクサルーターが機能しない
ルーティングに Gorilla を使用すると問題が発生します。一部のルートでは正常に機能しますが、他のルートでは機能しません。
次のコードがあります。
verifyUser が Verify 関数ハンドラーを呼び出すのは、コンソールに何かを出力するためだけです。たとえば、次のようになります。
しかし、何らかの理由でexample.com/verifyにアクセスすると、関数 Verify が実際に呼び出されることはありません。奇妙なことに、私の AngularJS コードは /verify にアクセスしたときに実際に何かを出力しますが、私の Go コードは出力しません。
nginx ファイルに次の構成がありますが、Gorilla ルーティングと競合する可能性があるかどうかはわかりません。
ルーティングに何か問題がありますか?
session - Golang: Gorilla/Sessions Cookie の取得
s.Save(r, w) を介してクライアントのブラウザーに保存されている Cookie の値を見つけようとしています。そうすれば、renderTemplate() を呼び出す前に、Cookie の値をデータベースに保存できます。ゴリラ/セッションAPIを使用してこれを達成する方法はありますか?
go - ゴリラjsonrpcが空の応答を取得する
jsonrpc メソッドが空の応答を返すのはなぜですか?
リクエスト:
応答:
ただし、のタイプを に設定するreplyと*string、これは正常に機能します。
応答:
go - gorilla mux を使用したポイント ドメイン to go サーバー
小さなサーバーがあり、そのサーバーが gorilla/mux パッケージを使用してカスタム ドメイン sftablet.dev をリッスンするようにします。
コードは次のとおりです。
これもホストファイルに追加しました:
しかし、何らかの理由で機能しません。127.0.0.1:8080 にアクセスすると機能しますが、 http://sftablet.dev/にアクセスすると機能しません。DNSキャッシュもクリアしました。