minor documentation fixes
This commit is contained in:
parent
6e2deccf24
commit
e619b2cffc
1 changed files with 11 additions and 6 deletions
|
@ -32,6 +32,9 @@ pub enum Route {
|
||||||
Path(String),
|
Path(String),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Serialization of the Route enum needs to be transparent, but since the
|
||||||
|
/// `#[serde(transparent)]` macro isn't available on enums, so we need to
|
||||||
|
/// implement it manually.
|
||||||
impl Serialize for Route {
|
impl Serialize for Route {
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where
|
where
|
||||||
|
@ -44,6 +47,11 @@ impl Serialize for Route {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Deserialization of the route string into the enum requires us to figure out
|
||||||
|
/// whether or not the string is valid to run as an executable or not. To
|
||||||
|
/// determine this, we simply check if it exists on disk or assume that it's a
|
||||||
|
/// web path. This incurs a disk check operation, but since users shouldn't be
|
||||||
|
/// updating the config that frequently, it should be fine.
|
||||||
impl<'de> Deserialize<'de> for Route {
|
impl<'de> Deserialize<'de> for Route {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Route, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Route, D::Error>
|
||||||
where
|
where
|
||||||
|
@ -128,7 +136,7 @@ pub async fn hop(
|
||||||
.app_data::<Handlebars>()
|
.app_data::<Handlebars>()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.render_template(
|
.render_template(
|
||||||
&std::str::from_utf8(&path).unwrap().trim(),
|
std::str::from_utf8(&path).unwrap(),
|
||||||
&template_args::query(
|
&template_args::query(
|
||||||
utf8_percent_encode(&args, FRAGMENT_ENCODE_SET).to_string(),
|
utf8_percent_encode(&args, FRAGMENT_ENCODE_SET).to_string(),
|
||||||
),
|
),
|
||||||
|
@ -218,15 +226,12 @@ pub async fn index(data: StateData, req: HttpRequest) -> impl Responder {
|
||||||
/// Runs the executable with the user's input as a single argument. Returns Ok
|
/// Runs the executable with the user's input as a single argument. Returns Ok
|
||||||
/// so long as the executable was successfully executed. Returns an Error if the
|
/// so long as the executable was successfully executed. Returns an Error if the
|
||||||
/// file doesn't exist or bunbun did not have permission to read and execute the
|
/// file doesn't exist or bunbun did not have permission to read and execute the
|
||||||
/// file. Note that thi
|
/// file.
|
||||||
fn resolve_path(
|
fn resolve_path(
|
||||||
path: PathBuf,
|
path: PathBuf,
|
||||||
args: &str,
|
args: &str,
|
||||||
) -> Result<Vec<u8>, crate::BunBunError> {
|
) -> Result<Vec<u8>, crate::BunBunError> {
|
||||||
// Unwrap is OK, we validated the path exists already
|
let output = Command::new(path.canonicalize()?).arg(args).output()?;
|
||||||
let output = Command::new(path.canonicalize().unwrap())
|
|
||||||
.arg(args)
|
|
||||||
.output()?;
|
|
||||||
|
|
||||||
if output.status.success() {
|
if output.status.success() {
|
||||||
Ok(output.stdout)
|
Ok(output.stdout)
|
||||||
|
|
Loading…
Reference in a new issue