| // Copyright 2026 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| { |
| include: [ |
| "//src/lib/fuchsia-hyper/hyper.shard.cml", |
| "inspect/client.shard.cml", |
| "syslog/client.shard.cml", |
| "trace/use.shard.cml", |
| ], |
| program: { |
| runner: "elf", |
| binary: "bin/http_client", |
| lifecycle: { stop_event: "notify" }, |
| }, |
| capabilities: [ |
| { |
| protocol: "fuchsia.net.http.Loader", |
| delivery: "on_readable", |
| }, |
| { |
| protocol: "fuchsia.pkg.http.Client", |
| delivery: "on_readable", |
| }, |
| ], |
| use: [ |
| { |
| // How long the http client will wait when it is idle before it escrows |
| // its FIDL connections back to the framework and exits. If the value is |
| // negative, then the http client will not stop due to idling. |
| // |
| // The definition of idleness is: |
| // - The main outgoing directory connection don't have pending requests. |
| // - There are no additional outgoing directory connections. |
| // - The `fuchsia.net.http.Loader` connections don't have pending requests. |
| // - There are no `fuchsia.net.http.LoaderClient` connections. |
| config: "fuchsia.http-client.StopOnIdleTimeoutMillis", |
| key: "stop_on_idle_timeout_millis", |
| type: "int64", |
| availability: "optional", |
| default: -1, |
| }, |
| { |
| directory: "google-root-ssl-certificates", |
| rights: [ "r*" ], |
| path: "/config/ssl", |
| }, |
| { |
| protocol: "fuchsia.net.http.Loader", |
| from: "self", |
| path: "/escrow/fuchsia.net.http.Loader", |
| }, |
| { |
| protocol: "fuchsia.pkg.http.Client", |
| from: "self", |
| path: "/escrow/fuchsia.pkg.http.Client", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ |
| "fuchsia.net.http.Loader", |
| "fuchsia.pkg.http.Client", |
| ], |
| from: "self", |
| }, |
| ], |
| } |