問題タブ [hyper]
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.
rust - この生涯の問題を解決するにはどうすればよいですか?
以下のコードでは、は の実装でstring
十分長く存続しません。メソッドの内部でスコープに入り、メソッドが終了するとスコープから外れる理由を理解していますが、それへの参照を保持します。Into<Body<'a>>
RequestParameters<'a>
string
into
Body<'a>
少なくとも、それがstring
長続きしない理由だと思います。
私が理解していないのは、このコードを構造化してstring
の寿命を修正する方法です。
このコードの目的は、HashMap ( "a"
to"b"
など) を POST リクエストの本文 ( など) の文字列にすること"?a=b"
です。これを行うためのより良い方法がある場合はお知らせください。ただし、この生涯の問題を修正する方法を理解することは、私にとって大きなメリットとなります。
string
なぜ長生きしないのかについて私が間違っている場合は、私にも知らせてください. 私はまだ Rust のライフタイム システムを理解しようとしているところなので、これを理解することは非常に役立ちます。
amazon-s3 - raw httpsリクエストを使用してAWS API Gateway Service ProxyをS3ファイルにアップロードする
まず、タイトルが長くてすみません。
s3 プロキシとして機能するように API ゲートウェイを設定したので、API URL に PUT リクエストを送信してファイルをアップロードできます。API は問題なく動作します (または、少なくとも動作すると思います) が、テキスト ファイルしか正しくアップロードできないようです。
アップロードされたテキスト ファイル (例: Content-Type=text/plain) の場合、ローカルでのファイルのサイズは、s3 バケットにアップロードされたファイルのサイズと同じです。ただし、バイナリ ファイル (例: Content-Type=application/pdf) には当てはまりません。s3 バケット内のファイルのサイズが大きくなります。s3 からバイナリ ファイルをダウンロードすると、開くことができません。破損しています。
リクエストを送信するためのさびたコードは次のとおりです。ハイパーの http クライアントを使用しています。
コメントアウトされたコードからわかるように、Content-Encoding=base64 を使用して、ファイルから読み取ったバイトをエンコードしてアップロードしようとしました。しかし、 Content-Encoding=base64 は、s3 が受け入れる有効なエンコーディング タイプではないようです。Content-Encoding を設定するたびに、完全にアップロードできませんでした (500: 内部サーバー エラー、間違ったサイズのファイルが s3 バケットに表示されません)。しかし、テキストファイルは完全に機能しています。
参考のため:
rust - Hyper ハンドラ間で HashMap を共有するにはどうすればよいですか?
Hyper 0.10 で簡単なインメモリ URL 短縮機能を実装して Rust を学ぼうとしています。HashMap
ハンドラーでミュータブルを閉じようとしたことが原因だと思われる問題が発生しています。
をスレッド間Arc
で共有するために を使用する必要がありますか? HashMap
もしそうなら、それはどのように見えますか?また、私はこの問題について完全に間違っている可能性があります。エラーメッセージは私には非常に不可解です。
rust - Hyper で応答ボディを表示すると、ボディのサイズのみが表示されます
Hyperを使ってURLの中身(本文)をテキスト表示してみた
ただし、このスクリプトを実行すると、本体のサイズが返されます。
私は何を間違えましたか?私は何かを誤解しましたか?
rust - `for<'r, 'r, 'r> ...` はスレッド間で安全に送信できません
私はRustを学び、ハイパーの上に構築されたマイクロルートシステムを構築しようとしました(これは学習目的のためであり、フレームワークが存在することは知っています)。
「複雑な」型を と共有する方法がわかりませんhyper::server::Handler
。エラー メッセージを読みましたが、残念ながら、それを修正する方法がわかりません (ほとんどの場合、Rust コンパイラは何を修正するかを指示するだけで、現時点ではよくわかりません)。
これは、私が試したことの(非)動作の単純化された例です。
エラーは次のとおりです。
単純な整数を使用すると機能しますが、Route
型では機能しません。
したがって、特性に問題があり、「スレッド間で安全に送信できない」という問題があります。hyper
ドキュメントを読んで、 を追加しましたMutex
が、私はばかげているに違いありません。自分が何をしているのかわかりません。Rust の学習をやめるべきなのか、それとも挑戦し続けるべきなのかわかりません。
rust - コンパイラが十分な型情報を推測できないため、hyper::Client を作成できません
Hyper を試すために、GET の例から始めました。例がコンパイルされない ( no method `get` in `client`
) という事実は別として、問題を 1 行にまとめました。
このコードはコンパイルされません:
openssl - git2 と hyper の両方を使用する: openssl が複数回リンクされている
hyper と git2 の両方を同時に使用するものを構築しようとしています。現在、openssl が 2 回リンクされているという問題があります。shepmasterのヒントでCargosにたどり着きましたfeatures
。試してみましたが、まだ行き詰っています。
私が得ている正確なエラーcargo build
は次のとおりです。
私が知る限り、git2 とハイパーの両方で openssl が必要です。誰かが私が間違っていることを知っていますか? ハイパー(および適切な測定のためにCookie)のデフォルト機能を無効にしたため、opensslはもう必要ありません。ロックファイルを調べて、openssl
他に必要かどうかを確認しましたが、何も見つかりませんでした。しかし、私はまだエラーが発生します。残念ながら、貨物は依存関係がどこから来たのかを教えてくれません。
私Cargo.toml
の依存関係セクションとロックファイルは次のとおりです。
興味のある場合は、Cargo.lockを次に示します。