問題タブ [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 に答える
1576 参照

go - Golang Gorilla mux、2 つの URL 署名と照合する最良の方法

gorilla mux を使用すると、現在、次の形式の URL が多数あります。

domain.com/org/{サブドメイン}/{名前}/ページ名

コードは次のようになります。

私も対戦したい:

subdomain.domain.com/{名前}/ページ名

私は次のようなことができることを知っています

サブドメインで一致します。両方のタイプの URL に一致する HandleFunc() を 1 つだけ持つことは可能ですか?それとも、最初のケース用と subdomain.domain.com ケース用の 2 つの HandleFunc() を持つ必要がありますか?

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

angularjs - AngularJS ページがサーバーから更新されない

AngularJS アプリがあります。サーバー側は Go で、Gorilla Web Toolkit の mux とセッション パッケージを使用します。Angular アプリのメイン ページには、サインインとサインアップの 2 つのフォームがあります。データは、AngularJS$http.postを JSON として使用して Go に送信され、適切な応答がサーバーから JSON として返されます。私が達成したいのは、ユーザーがログインしているかどうかに応じて、Web サイトのメイン ページに 2 つの異なるページを表示することです。現在、サインイン フォームの詳細を送信し、サーバーが適切な応答で応答すると、ページをリロードしますが、AngularJS は新しいページではなく、フォームを含むページを表示し続けます。

AngularJS コード

関連する Go コード 以下では、SignInHandler が "/signIn" への POST で呼び出され、IndexHandler が "/" への Get で呼び出されます。

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

go - AppHandler をルートに追加するにはどうすればよいですか?

Go ブログ: エラー処理と GoappHandlerで説明されているように実装しようとしています。私は を持っています。今はそれを自分のルートに接続しようとしています。以下の作品:appHandler

しかし、「StrictSlash(true)」を持つだけでなく、GET リクエストを許可できるようにしたいと考えています。私は持っている:

AppHandler は次のようになります。

エラーが発生します:

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

go - ネグローニとゴリラのコンテキスト ClearHandler

アリスのミドルウェアとして使用されているのを見たように、ネグローニのミドルウェアとしてゴリラ を使用することは可能ですか? context.ClearHandler()何かのようなもの:

現時点ではcontext.Clear(r)、すべての応答後に電話をかけていますが、片付けが自動的に処理されることを望みます。現在、次のエラーが発生しています。

しかし、エラーメッセージが何を伝えているのかわかりません。

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

go - httputil.ReverseProxy を使用すると、mux.Vars が空になります

gorilla mux と httputil.ReverseProxy を一緒に使用しようとしていますが、mux.Vars を取得しようとすると空になります。https://golang.org/src/net/http/httputil/reverseproxy.go?s=2744:2819#L93によると、http.Request ポインタは元のリクエストの浅いコピーであり、引き続き機能するはずです.

何か案は?

https://play.golang.org/p/JpjNvEMIFB

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

concurrency - go context.Context の正しい使い方

Build You Own Web Framework In Goという記事を読んだところです。ハンドラー間で値を共有するためにcontext.Contextを選択し、次の方法でそれを使用して、ハンドラーとミドルウェア間で値を共有しています。

すべてが機能しており、ゴリラ/コンテキストを使用するよりもハンドラーの読み込みが高速です。私の質問は次のとおりです。

  1. このアプローチは安全ですか?
  2. 私がやっているように c.cancel() 関数を延期することは本当に必要ですか?
  3. 構造体などのコントローラーを使用してモデルと値を共有することで、カスタム Web フレームワークを実装するために使用できますか?
0 投票する
1 に答える
353 参照

templates - Go テンプレート - オブジェクト ストア / データベースからの読み込み

node.js から Go への顧客固有のテンプレート (テーマ) をサポートするアプリを再構築しています。

現在、renderを使用してテンプレート ファイルをレンダリングしていますが、実際に必要なのは、Cloudfiles などのオブジェクト ストアに格納されているテンプレートにアクセスすることです。

node.js ではこれをエクスプレスで行い、render()メソッドをオーバーライドしていますが、Go でこれを行う方法を理解できませんでした。

私は本質的に次のようなことをする必要があります:

必要に応じて次のようなことを行うことで、サブテンプレートを動的に含めることができます: http://play.golang.org/p/7BCPHdKRi2しかし、正直なところ、それは素晴らしい方法とは思えません。

これに対する解決策を探しましたが、障害物にぶつかり続けています。アドバイス/支援は素晴らしいでしょう。

編集:

本質的に、私は次のことを求めています。

  1. リクエストごとにデータストアから特定のテンプレートをロードする方法を教えてください。
  2. それをクライアントへの応答として送信するにはどうすればよいですか
0 投票する
1 に答える
7904 参照

go - ゴリラマルチプレクサにコンテキストを渡す - イディオムに行く

私はかなりgolangが初めてで、慣用的にこれを行うための最良の方法を見つけようとしています。

静的に定義して渡すルートの配列がありgorilla/muxます。リクエストのタイミングを合わせてパニックを処理するために、各ハンドラー関数をラップしています(主に、ラップがどのように機能するかを理解できるようにするためです)。

それぞれが「コンテキスト」にアクセスできるようにしたい-httpサーバーごとに1つになる構造体。これには、データベースハンドル、構成などが含まれる可能性があります。私がしたくないことは静的グローバル変数を使用します。

私が現在行っている方法では、ラッパーにコンテキスト構造へのアクセスを許可できますが、これを実際のハンドラーに取得する方法がわかりませんhttp.HandlerFunc. 私にできることhttp.HandlerFuncは、受信機である自分自身のタイプに変換することだと思いました(ラッパーについても同様に行いますが、(多くのことを遊んだ後)これを受け入れるContextことができませんでした.Handler()

ここで明らかな何かが欠けていると思わずにはいられません。以下のコード。

これを行う方法は次のとおりですが、かなり恐ろしいようです。おそらく (?) をサブクラス化するために、もっと良い方法があるに違いないと思いますhttp.Handler