defmodule MyspaceIPFS.Api.Network.Swarm do @moduledoc """ MyspaceIPFS.Api.Swarm is where the swarm commands of the IPFS API reside. """ import MyspaceIPFS.Utils @spec peers :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def peers, do: request_get("/swarm/peers") @spec addrs :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def addrs, do: request_get("/swarm/addrs") @spec addrs_listen :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def addrs_listen, do: request_get("/swarm/addrs/listen") @spec addrs_local :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def addrs_local, do: request_get("/swarm/addrs/local") @spec connect(binary) :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def connect(multihash), do: request_get("/swarm/connect?arg=", multihash) @spec disconnect(binary) :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def disconnect(multihash) when is_bitstring(multihash), do: request_get("/swarm/disconnect?arg=", multihash) @spec filters :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def filters(), do: request_get("/swarm/filters") @spec filters_add(binary) :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def filters_add(multihash), do: request_get("/swarm/filters/add?arg=", multihash) @spec filters_rm(binary) :: {:client_error | :forbidden | :missing | :not_allowed | :ok | :server_error, any} def filters_rm(multihash), do: request_get("/swarm/filters/rm?arg=", multihash) end