feat(nix-compat/narinfo): track presence of unknown fields
Change-Id: Ia3f8a86209a0045ff98322b56a21ae20220fbe99 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9991 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
8694694b74
commit
407e5a53ed
1 changed files with 5 additions and 1 deletions
|
@ -31,6 +31,7 @@ use crate::{
|
|||
|
||||
#[derive(Debug)]
|
||||
pub struct NarInfo<'a> {
|
||||
pub unknown_fields: bool,
|
||||
// core (authenticated, but unverified here)
|
||||
/// Store path described by this [NarInfo]
|
||||
pub store_path: StorePathRef<'a>,
|
||||
|
@ -64,6 +65,8 @@ pub struct NarInfo<'a> {
|
|||
|
||||
impl<'a> NarInfo<'a> {
|
||||
pub fn parse(input: &'a str) -> Result<Self, Error> {
|
||||
let mut unknown_fields = false;
|
||||
|
||||
let mut store_path = None;
|
||||
let mut url = None;
|
||||
let mut compression = None;
|
||||
|
@ -218,12 +221,13 @@ impl<'a> NarInfo<'a> {
|
|||
}
|
||||
}
|
||||
_ => {
|
||||
// unknown field, ignore
|
||||
unknown_fields = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(NarInfo {
|
||||
unknown_fields,
|
||||
store_path: store_path.ok_or(Error::MissingField("StorePath"))?,
|
||||
nar_hash: nar_hash.ok_or(Error::MissingField("NarHash"))?,
|
||||
nar_size: nar_size.ok_or(Error::MissingField("NarSize"))?,
|
||||
|
|
Loading…
Reference in a new issue