問題タブ [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.

0 投票する
1 に答える
1212 参照

go - ユーザーが 3 分以内に Go Web サーバーにデータを送信しない場合の Go セッションのタイムアウト

Go を使用して Web サーバーを構築します。ここで、ユーザー名とパスワードを使用してセッション ID をユーザー ログインに返したいと考えています。そして、ログイン手順は問題ないと思います。ユーザーは、データを投稿するたびにセッション ID を使用します。ただし、ユーザーのログイン後、ユーザーが 3 分以内にデータを送信しない場合、セッション ID が無効になるセッションを破棄しようとします。

ユーザーが3分以内にデータを投稿しない場合、どうすればセッションを期限切れにできますか。(私はbeegoを使用します。beegoにはセッションのタイムアウトがありますが、ポストデータ間隔に応じてタイムアウトになると記載されています)

ありがとう。

0 投票する
1 に答える
14142 参照

unit-testing - Golang での HTTP ルートのテスト

Gorilla mux と net/http パッケージを使用して、次のようにいくつかのルートを作成しています

これらのルートをテストするテストを作成しようとしています。たとえば、GET特に返されたルートをテストしようとし400ているので、次のテストコードがあります。

ただし、このテストを実行する404と、リクエストが正しくルーティングされていないことが原因であると考えられます。

この GET ルートをブラウザからテストすると、 が返される400ので、テストのセットアップ方法に問題があると確信しています。

0 投票する
1 に答える
101 参照

go - Gorilla/Martini セッションが Cloud9 IDE 環境で機能しない

私は、Cloud9 IDE環境で Go Web アプリケーション開発を実験してきました。これまでのところ、 Gorillaセッション ( Martini Web フレームワークのセッションの基礎となるメカニズムでもあります) の使用に成功していません。ただし、まったく同じコードが他の環境でも正常に機能します。

問題を再現するには、Martini セッション アドオン (こちらを参照) から正確な「Hello World」スタイルのサンプル アプリをカット アンド ペーストします。この単純な例では、"/set" URL がセッションに値を配置し、"/get" URL が以前に設定された値を表示します。

Cloud9 IDE プロジェクトでは、「/get」URL を呼び出すと、コンソールに次のログが記録されます。

Gorilla を直接テストしようとすると、同様の結果が得られます。ただし、これとまったく同じソース コードを変更せずにローカル環境 (または Nitrous.IO クラウド環境) で実行すると、問題なく動作します。

Cloud9でGo Web開発を行っている人はいますか?この問題について何か洞察がありますか? ありがとう!

0 投票する
3 に答える
1629 参照

http - 既存のゴリラ セッションを取得する

ゴリラセッションを設定してから、値を再度取得しようとしています。私はちょうどテストとして次のことをしています。

これは、より大きな HTTP ハンドラーの抜粋です。しかし、関連する部分が投稿され、2 番目の呼び出しstore.Get()は既存のセッションではなく、新しいセッションを返します。したがって、このコードが含まれるハンドラが実行されると、ログ ステートメントがコンソールに出力されます。

この場合、すでに作成して保存したセッションではなく、新しいセッションを取得するのはなぜですか?

0 投票する
2 に答える
775 参照

json - セッションと JSON データの両方を http.ResponseWriter に書き込む

セッションと一部のカスタム アプリ固有の json データの両方を、Go のクライアント フォーム net/http パッケージに送信することは可能ですか。

セッションにゴリラ/セッションを使用しています。値を保存した後、 func (s *CookieStore) Save(r *http.Request, w http.ResponseWriter, session *Session) エラーを呼び出す必要があります。

しかし一方で、このハンドラー関数は fmt.Fprintf(http.ResponseWriter, string(js)) によってクライアントに JSON データを送信する必要もあります。

これはどのように達成できますか?

0 投票する
5 に答える
37404 参照

go - Gorilla mux カスタム ミドルウェア

ルーティングの管理にゴリラマルチプレクサを使用しています。私が欠けているのは、すべてのリクエストの間にミドルウェアを統合することです。

例えば

すべての着信要求は、ミドルウェアを通過する必要があります。ここにミドルウェアを統合するにはどうすればよいですか?

アップデート

ゴリラ/セッションと組み合わせて使用​​します。彼らは次のように述べています。

重要な注意: gorilla/mux を使用していない場合は、ハンドラを context.ClearHandler でラップする必要があります。そうしないと、メモリ リークが発生します! これを行う簡単な方法は、http.ListenAndServe を呼び出すときに最上位のマルチプレクサをラップすることです。

このシナリオを防ぐにはどうすればよいですか?