function processResponse()

in apps/mountebank-mock/mountebank-source/src/models/responseResolver.js [298:317]


    function processResponse (responseConfig, request, logger, imposterState, requestDetails) {
        if (responseConfig.is) {
            // Clone to prevent accidental state changes downstream
            return Promise.resolve(helpers.clone(responseConfig.is));
        }
        else if (responseConfig.proxy) {
            return proxyAndRecord(responseConfig, request, logger, requestDetails, imposterState);
        }
        else if (responseConfig.inject) {
            return inject(request, responseConfig.inject, logger, imposterState);
        }
        else if (responseConfig.fault) {
            // Clone to prevent accidental state changes downstream
            return Promise.resolve(helpers.clone(responseConfig));
        }
        else {
            return Promise.reject(exceptions.ValidationError('unrecognized response type',
                { source: helpers.clone(responseConfig) }));
        }
    }