Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/dceprojects.corals.io/vendor/nesk/rialto/tests/Implementation/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/dceprojects.corals.io/vendor/nesk/rialto/tests/Implementation/FsConnectionDelegate.js
'use strict';

const fs = require('fs'),
    {ConnectionDelegate} = require('../../src/node-process');

/**
 * Handle the requests of a connection to control the "fs" module.
 */
class FsConnectionDelegate extends ConnectionDelegate
{
    async handleInstruction(instruction, responseHandler, errorHandler)
    {
        instruction.setDefaultResource(this.extendFsModule(fs));

        let value = null;

        try {
            value = await instruction.execute();
        } catch (error) {
            if (instruction.shouldCatchErrors()) {
                return errorHandler(error);
            }

            throw error;
        }

        responseHandler(value);
    }

    extendFsModule(fs)
    {
        fs.multipleStatSync = (...paths) => paths.map(fs.statSync);

        fs.multipleResourcesIsFile = resources => resources.map(resource => resource.isFile());

        fs.getHeavyPayloadWithNonAsciiChars = () => {
            let payload = '';

            for (let i = 0 ; i < 1024 ; i++) {
                payload += 'a';
            }

            return `😘${payload}😘`;
        };

        fs.wait = ms => new Promise(resolve => setTimeout(resolve, ms));

        fs.runCallback = cb => cb(fs);

        fs.getOption = name => this.options[name];

        return fs;
    }
}

module.exports = FsConnectionDelegate;

Spamworldpro Mini