blob: 0a7dbcf4aa4cf9c314c25a75958f961f0bf2c55a [file]
// 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",
},
],
}