public async readCombinedResults()

in packages/service-library/src/data-providers/combined-scan-results-provider.ts [76:117]


    public async readCombinedResults(fileId: string): Promise<CombinedScanResultsReadResponse> {
        const downloadResponse = await this.readBlob(fileId);
        if (downloadResponse.notFound) {
            return {
                error: { errorCode: 'blobNotFound' },
            };
        }

        let contentString: string;
        try {
            contentString = (await this.bodyParser.getRawBody(downloadResponse.content as Readable)).toString();
        } catch (error) {
            return {
                error: {
                    errorCode: 'streamError',
                    data: System.serializeError(error),
                },
            };
        }

        try {
            const content = JSON.parse(contentString, (key, value) => {
                if (key === 'violations' || key === 'passes' || key === 'incomplete' || key === 'inapplicable') {
                    return new AxeResultsList(value);
                }

                return value;
            });

            return {
                results: content,
                etag: downloadResponse.etag,
            };
        } catch (error) {
            return {
                error: {
                    errorCode: 'jsonParseError',
                    data: System.serializeError(error),
                },
            };
        }
    }