# SPDX-FileCopyrightText: ☭ Emery Hemingway # SPDX-License-Identifier: Unlicense ## Thin wrapper over `syndicate/drivers/http_driver`. import pkg/preserves, pkg/syndicate import pkg/syndicate/drivers/http_driver import pkg/taps import ../schema/config proc spawnHttpDriver*(turn: var Turn; ds: Cap): Actor {.discardable.}= http_driver.spawnHttpDriver(turn, ds) during(turn, ds, ?:HttpDriverArguments) do (ds: Cap): http_driver.spawnHttpDriver(turn, ds) when isMainModule: import syndicate/relays when defined(solo5): import solo5 acquireDevices([("eth0", netBasic)], netAcquireHook) proc envRoute: Route = var pr = parsePreserves $solo5_start_info.cmdline if result.fromPreserves pr: return elif pr.isSequence: for e in pr: if result.fromPreserves e: return quit("failed to parse command line for route to Syndicate gatekeeper") runActor("main") do (turn: var Turn): let ds = newDataspace(turn) spawnRelays(turn, ds) resolve(turn, ds, envRoute(), spawnHttpDriver) else: runActor("main") do (turn: var Turn): resolveEnvironment(turn) do (turn: var Turn; ds: Cap): spawnHttpDriver(turn, ds)