Skip to content

Commit 4a7c325

Browse files
committed
fix: add PermissionsContainer initialization for deno_fetch
The init_web extension now properly initializes deno_permissions::PermissionsContainer when it's not already present. This is required by deno_fetch operations. Fixes panic in web_features example and any code using fetch.
1 parent a607e0e commit 4a7c325

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/ext/web/mod.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,14 @@ extension!(
113113
options = {
114114
permissions: Arc<dyn WebPermissions>
115115
},
116-
state = |state, config| state.put(PermissionsContainer(config.permissions)),
116+
state = |state, config| {
117+
state.put(PermissionsContainer(config.permissions));
118+
if !state.has::<deno_permissions::PermissionsContainer>() {
119+
let parser = Arc::new(deno_permissions::RuntimePermissionDescriptorParser::new(sys_traits::impls::RealSys));
120+
let permissions = deno_permissions::PermissionsContainer::allow_all(parser);
121+
state.put(permissions);
122+
}
123+
},
117124
);
118125
impl ExtensionTrait<WebOptions> for init_web {
119126
fn init(options: WebOptions) -> Extension {

0 commit comments

Comments
 (0)