問題タブ [casablanca]

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

c++ - casablanca ライブラリを介した github API とのやり取り

MFC フレームワークで Git クライアントを構築しています。github サーバーと接続してその API を使用するために、casablanca ライブラリを使用しています。Github のチュートリアルでは、認証のためにユーザー名とパスワードが添付されたリクエストを github サーバーに送信する方法を 1 つの例として示します:
https://developer.github.com/v3/#authentication

今、私はマイクロソフトのcasablancaで同じ効果を達成しようと試みましたが、構文を正しくすることができません:

これを呼び出した後、uri が無効であるという例外がカサブランカからスローされます。
githubサーバーに送信できるように、カサブランカでリクエストを適切に構築する方法はありますか?
ありがとうございました。

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

c++ - C++ REST SDK: 非同期タスクと C++11 マルチスレッド

これは、C++ REST SDK の非同期タスク機能に関する概念的な質問です (また、少し初歩的な質問でもあるかもしれません)。

基本的なアプリケーションでは、クライアントがあり、いくつかのリクエストを実行します。

(foo ループは、リクエストが頻繁に送信されることを示すためのものであり、コードでは実際には使用しません)。

質問:

  • 私が理解している限りでは、非同期タスク ライブラリはこれらの着信要求を並列に処理します。つまり、メイン スレッドがすべてのタスクをイベントのような方法で処理するのではなく、ライブラリがいくつかの基になるスレッド プールにタスクを割り当てます。 (--私には透明ではありません--) 方法。私はそれを正しく理解しましたか?

  • 前の見解が正しければ、REST SDK を C++ のマルチスレッド機能と組み合わせる理由はあります。たとえば、上記のループをもう一度取り上げると、10 個のスレッドを開始し、それぞれのプロセスで 10 回のループ反復を実行します。これは理にかなっていますか、それとも不要ですか?

  • さらに、一般的に、C++11 のマルチスレッド機能によって ppl 機能を組み合わせる必要がある一般的なパターンはありますか? それとも、内部の REST SDK と ppl がより良い仕事をしてくれると信頼しても安全でしょうか?

(情報: cpprest ディスカッション ページでもこの質問をしました。ただし、このフォーラムはもう維持されていないようです。)

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

c++ - C++ REST SDK (「カサブランカ」) での URI エンコーディング

C++ REST SDK 2.8の http リスナーを使用していますが、次のことに気付きました。このリスナーに次の URL を送信すると:

そして私は:

次に、v_path_componentsには 2 つの要素 ["my", "path"] が含まれ、m_query_componentsには 2 つのペア [("key","xxx"), ("yyy","zzz")] が含まれていることがわかります。

私が望むのは、v_path_componentsが 1 つの要素 ["my/path"] を含み、m_query_componentsが 1 つのペア [("key","xxx&yyy=zzz")] を含むことです。

後者を実現するために、relative_uriは uri をデコード/エンコードしないでください。情報が失われるからです。さらに、web::uri::decode()は、分割前ではなく、分割結果に対して実行する必要があります。しかし、REST SDK 自体とそれに付属する多くのサンプルが上記の方法でこれを使用しているため、私が間違っているのではないかと思います。

誰かが私の発見を確認したり、私が間違った方向に進んでいる理由を説明したりできますか?

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

c++ - when_any 関数について (C++ REST SDK)

こちらhttps://msdn.microsoft.com/en-us/library/jj969480.aspx

コードはこのようなものです

私の質問は

result_type はどこから来たのですか?

どうもありがとう

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

c++ - カサブランカ REST SDK C++ リスナー

最近、Java Spring を使用して REST サービスを作成しました。その中には、特定の各関数を異なる REST クエリにバインドするための注釈が含まれていました。ここでは技術的になりすぎないようにしましょう。擬似的に、次のようになりました。

現在、C++ で Casablanca SDK を使用して REST を実行するテストが与えられていますが、チェックしたすべてのチュートリアルで、単一の GET または POST 要求がカバーされています。カサブランカ SDK の Spring と同様に、複数のリクエストをカスタム ターゲットにバインドすることは可能ですか?

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

c++ - C++ Rest SDK カサブランカ シグトラップ

C++ Rest SDK ("Casablanca")を使用して、Websocket-Servers からフィードを受信して​​います。現在、 websocket_callback_client クラスを使用して、同時に実行されている 3 つの異なるサーバーへの 3 つの異なる接続があります。

プログラムは未定義の時間実行され、その後突然 を受け取りSIGTRAP, Trace/ Breakpoint trapます。これは次の出力ですGDB

18 行目で、ソース/pplx/threadpool.h:133が指定されています。これは、これらの行の周りのソース コードです。

明確にするために、m_serviceboost::asio::io_serviceです。私には、133 行目で例外がスローされ、139 行目でキャッチされてから再スローされたように見えます。この時点で、私はそれを個人的にキャッチする必要があります。なぜなら、そうしないとpplx-object がキャッチされない例外で破棄された場合、 が発生するからSIGTRAPです。

これが私の研究で得られた距離です。問題は、これがどこで起こっているのか手がかりがないことです。データが送受信されるすべての位置を囲みましたwebsocket_callback_clienttry {} catch(...){}、それはまだ起こっています。

以前にこのライブラリを使用したことがある人が私を助けてくれるかもしれません。