問題タブ [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.
mgo - ゴリラ/スキーマとmgo/bson.ObjectId
ここでちょっとした鶏が先か卵が先かの問題です。
HTML テンプレートでは、フォーム bson.ObjectId をレンダリングする必要があります{{mytype.Id.Hex()}}
例えば
Go で、ゴリラ/スキーマによって解析されるはずの構造体を定義するとき
(スキーマから)呼び出すとdecoder.Decode(instance_of_mytype, r.PostForm)
、エラーが「スロー」されます。schema: invalid path "id"形式は bson.ObjectId の単なる文字列表現であり、実際の bson.ObjectId ではないためです。
フィールドを手動で入力する以外に何ができるのだろうか(r.FormValue())それを機能させる.
ゴリラ/スキーマまたは mgo で問題を作成する必要がありますか? それとも手動で作成する必要がありますか?
rest - Gorilla Mux が期待どおりにルーティングされない
Go 用の Gorilla Mux ライブラリを動作させるのに問題があります。私が読んだドキュメントと私が行ったすべてのデバッグから、問題が何であるかを理解できないようです。ルーティングのために私が持っているものは次のとおりです。
フォルダ構造:
main.go:
ルート/routes.go
ルート/user.go
サーバーのルート パス (つまり、静的コンテンツを提供するパス) に要求を行うたびに、サーバーはメイン ページで意図したとおりに応答します。ただし、他の呼び出しでは 404 応答が返されます (cURL を使用して要求をテストしています)。たとえば、http://localhost:8000/user/newへの不正なリクエストは 409 を返すはずですが、代わりに 404 を返します。201 レスポンスが予想される場合も同様です。
すべてが正しいように見え、トリプルチェックしましたが、ここで何が問題なのかわかりません。
session - Gorilla Sessions - リクエストに応じて Cookie の有効期限を自動的に更新する方法は?
私は、他の多くの言語と Web フレームワークが、バックエンド (またはそのようなアクション) を介してセッションにアクセスするたびに、Cookie の有効期限をセッション タイムアウトに自動的に更新することを知っています。Gorilla がこのユーティリティを提供するとは思えません。
有効なセッションを検出した場合に Cookie の有効期間を延長するリクエスト ミドルウェアを作成することを検討していますが、これを行うためのより良い方法があるかどうか疑問に思っています。
特に Gorilla/Go に関連する Cookie の有効期限を更新するためのベスト プラクティスは何ですか?
go - golang Gorilla mux を使用して CSS ファイルを見つけるにはどうすればよいですか
Go と Gorilla Mux を使用しています。
これは私の webserver.go ファイルです
webserver.go ファイルと同じフォルダーに index.html ファイルがあります。
/ - ここに index.html があります
/css - すべての CSS ファイル
/images - すべての画像、リソース ファイル
上記のコードを使用して index.html ファイルをロードすることはできましたが、CSS ファイルと画像をロードしていないようです。
私が持っている index.html ファイル内。
それで、cssファイルを見つける必要がありますか、それとも「Go」がcssと画像フォルダーを見つけることができることを確認する必要がありますか? どのように?
session - Gorilla Mux セッション名に移動
muxGorillaのセッション名がわかりずらいです。
http://www.gorillatoolkit.org/pkg/sessions#CookieStore.Get
セッションを使用して、2 つのハンドラー間でグローバル変数を使用しないようにしたいと考えています。そのため、キーと値を共有セッションに保存し、セッションから値を取得します。
各ユーザーに独自のセッションをValues持たせたいのですが、一意のセッション名 (セッション ID) を割り当てる必要がありますか? それとも、ゴリラ セッションは、各ユーザーが独自のセッションと値を取得することを単独で処理しますか?
一意の識別子を使用してセッション名を生成する必要があるかどうか疑問に思います。
ありがとう
nginx - Gorilla WebSocket が 1 分後に切断される
nginx 1.4.6 リバース プロキシの背後にある Gorilla WebSockets で Go (Golang) 1.4.2 を使用しています。ページを開いてから約 1 分後に WebSocket が切断されます。Chrome と Firefox でも同じ動作が発生します。
最初は、サーバーとクライアントを WebSocket で接続する際に問題がありました。次に、nginx の設定を微調整する必要があることを読みました。これは私が持っているものです。
私のGoコードは基本的にクライアントのメッセージをエコーバックしています。(簡潔にするためにエラーは省略されています)。これは私のHandleFuncです。
JavaScript も非常に単純です。
Go が報告していwebsocket: close 1006 unexpected EOFます。ページを離れるか更新すると がReadJSON返されることはわかっていますがEOF、これは別のエラーのようです。また、予期しない EOF は、ページを開いてから約 1 分後に自然に発生します。
私はonerrorJavaScriptで関数を持っています。そのイベントは発生しませんが、onclose代わりに発生します。
regex - Gorilla Mux 正規表現
ルートにはGolang Gorilla Toolkitの Mux パッケージを使用しています。
次のルートを検討してください。
問題は中間ルートの正規表現にあります - 解釈されないため、ルートは機能しません!
{} 中括弧でも機能しません。無視され、/admin/ として扱われます。
どちらもしません:
要するに、ここで達成しようとしているのは、最初に /admin/install ルートと一致させ、正規表現を使用して以下のルートから除外したい正確なルートを一致させることですが、うまくいきません。
gorilla mux パッケージで正規表現を使用する方法はありますか?