mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-26 21:57:16 +01:00
81 lines
3.0 KiB
XML
81 lines
3.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="FileCache" inherits="Reference" version="3.8">
|
|
<brief_description>
|
|
The FileCache class provide functionality for file and directory caching for the web module.
|
|
</brief_description>
|
|
<description>
|
|
The FileCache class provide functionality for file and directory caching for the web module.
|
|
It can evaluate a folder, and save all file paths into memory.
|
|
Using this functionality can increase performance in certain scenarios, as the application does not have to use a syscall to evaluate whether a file exists or not, and also helps with avoiding directory traversal attacks, as relative paths are not going to be expanded by accident.
|
|
(A directory traversal attach would be if an application receives this get request: [code]server.net/../../../etc/passwd[/code], and it would result in success, if the app then returns the contents of the "passwd" file, which is outside of the root folder of the server.)
|
|
[FileCache] has a drawback for now, as it doesn't yet watch for changes in the folder, so if files change it needs to be manually refreshed.
|
|
It can also save contents of files into memory if needed using the [code]set_cached_body()[/code] helper method.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="clear">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="get_cached_body">
|
|
<return type="String" />
|
|
<argument index="0" name="path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="has_cached_body">
|
|
<return type="bool" />
|
|
<argument index="0" name="path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="set_cached_body">
|
|
<return type="void" />
|
|
<argument index="0" name="path" type="String" />
|
|
<argument index="1" name="body" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_deregister_file">
|
|
<return type="void" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_evaluate_dir">
|
|
<return type="void" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<argument index="1" name="should_exist " type="bool" default="true" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_has_file">
|
|
<return type="bool" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_refresh_cache">
|
|
<return type="void" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
<method name="wwwroot_register_file">
|
|
<return type="void" />
|
|
<argument index="0" name="file_path" type="String" />
|
|
<description>
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="cache_invalidation_time" type="int" setter="set_cache_invalidation_time" getter="get_cache_invalidation_time" default="0">
|
|
</member>
|
|
<member name="wwwroot" type="String" setter="set_wwwroot" getter="get_wwwroot" default="""">
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
</constants>
|
|
</class>
|