package Ġme . dev n atan . k atan . io . file Ċ Ċ import Ġcom . types afe . config . Config Ċ import Ġme . dev n atan . k atan . api . Descriptor Ċ import Ġme . dev n atan . k atan . api . io . FileSystem Accessor Ċ import Ġme . dev n atan . k atan . api . io . FileSystem Session Ċ import Ġme . dev n atan . k atan . api . io . Unauthorized FileSystem AccessException Ċ import Ġme . dev n atan . k atan . api . logging . logger Ċ import Ġme . dev n atan . k atan . common . util . get Ċ import Ġme . dev n atan . k atan . io . file . session . FileSystem Session Impl Ċ import Ġorg . slf 4 j . Logger Ċ Ċ class ĠDefault FileSystem Accessor (@ Jvm Field Ġval Ġconfig : ĠConfig , Ġprivate Ġval Ġfs : ĠPersistent FileSystem ) Ġ: ĠFileSystem Accessor Ġ{ ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlogger : ĠLogger Ġ= Ġlogger < Default FileSystem Accessor >() ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġnew Session ( holder : ĠDescriptor ): ĠFileSystem Session Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! config . get (" security . file - system . allow - un trusted - access ", Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnauthorized FileSystem AccessException ( holder . id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠFileSystem Session Impl ( holder , Ġfs ) ĊĠĠĠĠĠĠĠ Ġlogger . info (" Session Ġ$ session Ġopened .") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsession ĊĠĠĠ Ġ} Ċ Ċ }