問題タブ [dart-shelf]

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 に答える
104 参照

get - GET リクエストのディレクトリ パラメータを使用してコンテンツを動的に提供する - シェルフ パッケージ ダート

以下のコード スニペットは、get リクエストを処理するサーバーからのものです。

サーバー スニペット

1)

2)

3)

クリック イベントでは、クライアント アプリでもこのコードを実行します。

残念ながら、これgetStringは成功しません。catchErrorが実行され、結果は になりますan error occurred: Instance of '_XMLHttpRequestProgressEvent'。また、Dart Editor の ToolsOutput コマンドラインで[web] GET /newest => Could not find asset linkShepherdClient|web/newest.. そのディレクトリが存在しないため、これは正しいです。ディレクトリをパラメーターとして使用して正しいハンドラーを実行し、正しい値を に返すことができると思っていました.ok()が、そうではないようです。これは、サーバー上のこのディレクトリから常に実際にデータを取得しようとするため、GET 要求を使用してどのソースからでもデータを取得できないということですか?

編集: http パッケージを使用したコード例。(動作していません)

http パッケージなどの追加パッケージを使用した回答も大歓迎です。

0 投票する
0 に答える
207 参照

websocket - Authenticate websocket connection in Dart using shelf_auth and shelf_web_socket

Using shelf_auth I can extract current user information from request this way:

#xA;

but, obviously, I need a request for that to work :) On the other hand, using shelf_web_socket, establishing of websocket connection executes handler like that:

#xA;

But I have no idea how to forward original socket connection request to my handleWS, to be able to know which user just connected to server.


Another question is what is best practice to store these open sockets, to being able to send broadcast messages to all connected clients, and delete corresponding socket when it's closed. First what is coming to my mind is to store sockets in a map like Map<int,CompatibleWebSocket>, where int is CompatibleWebSocket.hash().

Then I can iterate over Map.values() to do broadcast, and delete by key when connection is closed.

I can't get if that technique overcomplicated for such task and maybe exist more convenient way doing that, like storing them in a list? Or can I join Streams somehow for broadcasting?

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

authentication - 一部の手順で dart RPC と shelf_auth を使用する

パッケージで使用dart-lang/rpcしています。shelf_rpc

リソースの中には認証が必要なものがあります。私はJWTを使用することに決め、 JwtSessionHandlerfromを使用したいと考えましたshelf_auth

私の単純化されたセットアップは次のようになります。

(たとえば)loginMiddlewareで始まるリクエストにのみ追加するにはどうすればよいですか? /accountまたはさらに良い: loginMiddlewareRPC リソース自体で を定義することは可能ですか (認証を変更して無効にする可能性のあるパスプレフィックスを定義する代わりに)?

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

dart - Dart と angular 2 を使用してクライアント側のルーティングをサポートするにはどうすればよいですか?

Angular2 alpha 35 を実行しようとしています

静的シェルフ サーバーを使用してサーバーをセットアップしています。pub ビルド後に heroku に公開する場合は問題なく動作します。

パブサーブを使用してローカルでテストする場合、ルーティングを制御できないようです。常に index.html を指すようにルートを変更するには、より詳細な制御が必要です - (クライアント側のルーティング)

シェルフを使用して Web フォルダーを指すと、アセットを提供できますが、すべてのダーツ トランスフォーマーが失われます。

質問:

クライアント側ルーティングを使用してネイティブ Dart プロジェクトの SPA を提供するための最良のアプローチは何ですか?

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

dart - Dart: ミドルウェアを追加して JSON に解析し、shelf_rest で動作するようにします

ミラーを使用してモデルを JSON に変換する関数を作成しました。

すべてのモデル/ビューモデルクラスに toJson() メソッドを実装する必要がないように、モデル/ビューモデルがリクエスト/レスポンス間で前後に変換されるように使用したいと考えています。

私はshelf_restを使用する予定です。このページの例を見ています: https://pub.dartlang.org/packages/shelf_rest

しかし、以下のリソースのような shell_rest のルート注釈で動作するように、上記のメソッドを接続する方法がわかりません...

...ただし、JSON をマッピングして、要求/応答フォームの AccountResource の前/後にオブジェクトに変換します。

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

dart - Dart でのカスケードの分離

Dart で奇妙な動作が見られます。私の目標は、ビルド/Web Dir が存在する場合にのみ静的アセットを提供することです。

1- 次の作品:

2- 以下は機能しません:

質問: シナリオ 1 の例は問題なく動作します。2 番目の例では、fHandler を追加すると、関連するルートがまったく処理されないのはなぜですか?

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

dart - Dart サーバー側: Web サーバーとして IO ではなくシェルフを使用する利点はどこにありますか?

RPC ライブラリを使用して、Dart サーバー サイド Restful を開発したいと考えています。ライブラリ リポジトリでは、使用方法の 2 つの例 ( https://github.com/dart-lang/rpc-examples/tree/master/bin ) が提供されています: Shelf と IO。

Shelf と IO の違いをよりよく理解したいと思います。Web サーバーとして IO ではなくシェルフを使用する利点はどこにありますか?