feat(http): add default values for --bits and --profile

with a expanded profiles length check that is more accurate
This commit is contained in:
Addy Bryant 2022-04-05 12:05:27 -04:00
parent bbcbb6aa74
commit a0d44bbb61
2 changed files with 9 additions and 7 deletions

View File

@ -59,16 +59,18 @@ pub enum InitializationError {
pub fn init(
ipfs_path: &Path,
bits: NonZeroU16,
profiles: Vec<Profile>,
mut profiles: Vec<Profile>,
) -> Result<String, InitializationError> {
use multibase::Base::Base64Pad;
use prost::Message;
use std::fs::OpenOptions;
use std::io::{BufWriter, Write};
if profiles.len() != 1 {
unimplemented!("Multiple profiles are currently unsupported!")
}
match profiles.len() {
0 => profiles.push(Profile::Default),
1 => {}
_ => unimplemented!("Multiple profiles are currently unsupported!"),
};
let bits = bits.get();

View File

@ -15,13 +15,13 @@ enum Options {
/// with two arguments by default, `--bits 1024` and `--profile test`.
Init {
/// Generated key length
#[structopt(long)]
#[structopt(long, default_value = "2048")]
bits: NonZeroU16,
/// List of configuration profiles to apply. Currently only the `Test` and `Default`
/// profiles are supported.
///
/// `Test` uses ephemeral ports (necessary for conformance tests), `Default` uses `4004`.
#[structopt(long, use_delimiter = true)]
#[structopt(long, use_delimiter = true, default_value = "default")]
profile: Vec<config::Profile>,
},
/// Start the IPFS node in the foreground (not detaching from parent process).
@ -95,7 +95,7 @@ fn main() {
std::process::exit(1);
}
Err(config::InitializationError::InvalidRsaKeyLength(bits)) => {
eprintln!("Error: --bits out of range [1024, 16384]: {}", bits);
eprintln!("Error: --bits out of range [2048, 16384]: {}", bits);
eprintln!("This is a fake version of ipfs cli which does not support much");
std::process::exit(1);
}