diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2021-04-04 18:47:07 -0400 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2021-04-04 18:47:07 -0400 |
commit | 61d05b2128c681287ac5ecb8e7b87dabde4e1d51 (patch) | |
tree | d479706461e7e110fec02237d33a2c55882c87cd /ipfs-api/src | |
parent | fc3cd21efe52b0575617bcd249b30e8846ad2278 (diff) |
deleting everything in ipfs-api
Diffstat (limited to 'ipfs-api/src')
117 files changed, 0 insertions, 8590 deletions
diff --git a/ipfs-api/src/client/from_uri.rs b/ipfs-api/src/client/from_uri.rs deleted file mode 100644 index be51cd8..0000000 --- a/ipfs-api/src/client/from_uri.rs +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright 2020 rust-ipfs-api Developers -// -// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or -// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or -// http://opensource.org/licenses/MIT>, at your option. This file may not be -// copied, modified, or distributed except according to those terms. -// -use http::uri::{Builder, InvalidUri, PathAndQuery, Scheme, Uri}; -use parity_multiaddr::{self as multiaddr, Multiaddr, Protocol}; -use std::{ - fs, - net::{SocketAddr, SocketAddrV4, SocketAddrV6}, - str::FromStr, -}; - -const VERSION_PATH_V0: &str = "/api/v0"; - -/// Builds the base url path for the Ipfs api. -/// -fn build_base_path(builder: Builder) -> Result<Uri, http::Error> { - builder.path_and_query(VERSION_PATH_V0).build() -} - -pub trait TryFromUri: Sized { - /// Builds a new client from a base URI to the IPFS API. - /// - fn build_with_base_uri(uri: Uri) -> Self; - - /// Creates a new client from a str. - /// - /// Note: This constructor will overwrite the path/query part of the URI. - /// - fn from_str(uri: &str) -> Result<Self, InvalidUri> { - let uri: Uri = uri.parse()?; - let mut parts = uri.into_parts(); - - parts.path_and_query = Some(PathAndQuery::from_static(VERSION_PATH_V0)); - - Ok(Self::build_with_base_uri(Uri::from_parts(parts).unwrap())) - } - - /// Creates a new client from a host name and port. - /// - fn from_host_and_port(scheme: Scheme, host: &str, port: u16) -> Result<Self, http::Error> { - let authority = format!("{}:{}", host, port); - let builder = Builder::new().scheme(scheme).authority(&authority[..]); - - build_base_path(builder).map(Self::build_with_base_uri) - } - - /// Creates a new client from an IPV4 address and port number. - /// - fn from_ipv4(scheme: Scheme, addr: SocketAddrV4) -> Result<Self, http::Error> { - let authority = format!("{}", addr); - let builder = Builder::new().scheme(scheme).authority(&authority[..]); - - build_base_path(builder).map(Self::build_with_base_uri) - } - - /// Creates a new client from an IPV6 addr and port number. - /// - fn from_ipv6(scheme: Scheme, addr: SocketAddrV6) -> Result<Self, http::Error> { - let authority = format!("{}", addr); - let builder = Builder::new().scheme(scheme).authority(&authority[..]); - - build_base_path(builder).map(Self::build_with_base_uri) - } - - /// Creates a new client from an IP address and port number. - /// - fn from_socket(scheme: Scheme, socket_addr: SocketAddr) -> Result<Self, http::Error> { - match socket_addr { - SocketAddr::V4(addr) => Self::from_ipv4(scheme, addr), - SocketAddr::V6(addr) => Self::from_ipv6(scheme, addr), - } - } - - /// Creates a new client from a multiaddr. - /// - fn from_multiaddr(multiaddr: Multiaddr) -> Result<Self, multiaddr::Error> { - let mut scheme: Option<Scheme> = None; - let mut port: Option<u16> = None; - - for addr_component in multiaddr.iter() { - match addr_component { - Protocol::Tcp(tcpport) => port = Some(tcpport), - Protocol::Http => scheme = Some(Scheme::HTTP), - Protocol::Https => scheme = Some(Scheme::HTTPS), - _ => (), - } - } - - let scheme = scheme.unwrap_or(Scheme::HTTP); - - if let Some(port) = port { - for addr_component in multiaddr.iter() { - match addr_component { - Protocol::Tcp(_) | Protocol::Http | Protocol::Https => (), - Protocol::Ip4(v4addr) => { - return Ok(Self::from_ipv4(scheme, SocketAddrV4::new(v4addr, port)).unwrap()) - } - Protocol::Ip6(v6addr) => { - return Ok( - Self::from_ipv6(scheme, SocketAddrV6::new(v6addr, port, 0, 0)).unwrap(), - ) - } - Protocol::Dns(ref hostname) => { - return Ok(Self::from_host_and_port(scheme, hostname, port).unwrap()) - } - Protocol::Dns4(ref v4host) => { - return Ok(Self::from_host_and_port(scheme, v4host, port).unwrap()) - } - Protocol::Dns6(ref v6host) => { - return Ok(Self::from_host_and_port(scheme, v6host, port).unwrap()) - } - _ => { - return Err(multiaddr::Error::InvalidMultiaddr); - } - } - } - } - - Err(multiaddr::Error::Inva |