         }
         
         // Generate file list as JSON
-        if properties.generatesJson {
+        if properties.generatesJson || requestGetParameters["generatesJson"] != nil {
             if let files = SmartMockFileUtility.recursiveList(fromPath: filePath) {
                 let response = SmartMockResponse()
-                if properties.includeMD5 {
+                if properties.includeMD5 || requestGetParameters["includeMD5"] != nil {
                     var jsonString = "{"
                     var firstFile = true
                     for file in files {

        // Check for response generators, they are not supported (except for a file within the file list)
        if properties.generates != nil && (properties.generates == "indexPage" || properties.generates == "fileList") {
            if properties.generates == "fileList" {
                if let fileResponse = responseFromFileGenerator(requestPath: requestPath, filePath: filePath, properties: properties) {
                    return fileResponse
                }
            }

        return response
    }
    
    private static func responseFromFileGenerator(requestPath: String, filePath: String, requestGetParameters: [String: String], properties: SmartMockProperties) -> SmartMockResponse? {
        // Check if the request path points to a file deeper in the tree of the file path
        var fixedRequestPath = requestPath
        if fixedRequestPath.hasPrefix("/") {
