Merge pull request #2 from StevanFreeborn/fix/file-name-bug
fix: file name bug
This commit is contained in:
@@ -261,13 +261,10 @@ export class ApiResponse<T> {
|
||||
|
||||
public asFileType(response: AxiosResponse): ApiResponse<File> {
|
||||
const apiResponse = this as ApiResponse<any>;
|
||||
|
||||
let fileName = response.headers['content-disposition']
|
||||
const fileName = response.headers['content-disposition']
|
||||
.split(';')[1]
|
||||
.split('=')[1];
|
||||
|
||||
fileName = fileName.substring(1, fileName.length - 1);
|
||||
|
||||
const contentType =
|
||||
response.headers['content-type'] ??
|
||||
response.headers['Content-Type'] ??
|
||||
|
||||
+23
-21
@@ -1,33 +1,33 @@
|
||||
import { ApiResponse } from '../src/models/ApiResponse';
|
||||
import { type AxiosResponse } from 'axios';
|
||||
import { expect } from 'chai';
|
||||
import { GetPagedAppsResponse } from '../src/models/GetPagedAppsResponse';
|
||||
import { App } from '../src/models/App';
|
||||
import { CollectionResponse } from '../src/models/CollectionResponse';
|
||||
import { Field } from '../src/models/Field';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { FieldStatus } from '../src/enums/FieldStatus';
|
||||
import { FieldType } from '../src/enums/FieldType';
|
||||
import { GetPagedFieldsResponse } from '../src/models/GetPagedFieldsResponse';
|
||||
import { CreatedWithIdResponse } from '../src/models/CreatedWithIdResponse';
|
||||
import { FormulaField } from '../src/models/FormulaField';
|
||||
import { FormulaOutputType } from '../src/enums/FormulaOutputType';
|
||||
import { ListValue } from '../src/models/ListValue';
|
||||
import { ReferenceField } from '../src/models/ReferenceField';
|
||||
import { Multiplicity } from '../src/enums/Multiplicity';
|
||||
import { ListField } from '../src/models/ListField';
|
||||
import { ApiResponse } from '../src/models/ApiResponse';
|
||||
import { App } from '../src/models/App';
|
||||
import { CollectionResponse } from '../src/models/CollectionResponse';
|
||||
import { CreatedWithIdResponse } from '../src/models/CreatedWithIdResponse';
|
||||
import { Field } from '../src/models/Field';
|
||||
import { File } from '../src/models/File';
|
||||
import { ListItemResponse } from '../src/models/ListItemResponse';
|
||||
import { FormulaField } from '../src/models/FormulaField';
|
||||
import { GetPagedAppsResponse } from '../src/models/GetPagedAppsResponse';
|
||||
import { GetPagedFieldsResponse } from '../src/models/GetPagedFieldsResponse';
|
||||
import { GetPagedRecordsResponse } from '../src/models/GetPagedRecordsResponse';
|
||||
import { GetPagedReportsResponse } from '../src/models/GetPagedReportsResponse';
|
||||
import { ListField } from '../src/models/ListField';
|
||||
import { ListItemResponse } from '../src/models/ListItemResponse';
|
||||
import { ListValue } from '../src/models/ListValue';
|
||||
import { Record } from '../src/models/Record';
|
||||
import { RecordValue } from '../src/models/RecordValue';
|
||||
import { ReferenceField } from '../src/models/ReferenceField';
|
||||
import { Report } from '../src/models/Report';
|
||||
import { ReportData } from '../src/models/ReportData';
|
||||
import { Row } from '../src/models/Row';
|
||||
import { Record } from '../src/models/Record';
|
||||
import { RecordValue } from '../src/models/RecordValue';
|
||||
import { GetPagedRecordsResponse } from '../src/models/GetPagedRecordsResponse';
|
||||
import { testFieldData } from './testData/testFieldData';
|
||||
import { type AxiosResponse } from 'axios';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { SaveRecordResponse } from '../src/models/SaveRecordResponse';
|
||||
import { testFieldData } from './testData/testFieldData';
|
||||
|
||||
describe('ApiResponse', function () {
|
||||
it('should be defined', function () {
|
||||
@@ -807,7 +807,8 @@ describe('ApiResponse', function () {
|
||||
const mockResponse = {
|
||||
headers: {
|
||||
'content-type': 'text/plain',
|
||||
'content-disposition': 'attachment; filename="test-attachment.txt"',
|
||||
'content-disposition':
|
||||
"attachment; filename=test-attachment.txt; filename*=UTF-8''test-attachment.txt",
|
||||
'Content-Length': '13',
|
||||
} as AxiosResponse['headers'],
|
||||
} as AxiosResponse;
|
||||
@@ -837,7 +838,8 @@ describe('ApiResponse', function () {
|
||||
const mockResponse = {
|
||||
headers: {
|
||||
'content-type': 'image/jpeg',
|
||||
'content-disposition': 'attachment; filename="test-image.jpeg"',
|
||||
'content-disposition':
|
||||
"attachment; filename=test-image.jpeg; filename*=UTF-8''test-image.jpeg",
|
||||
'Content-Length': '98897',
|
||||
} as AxiosResponse['headers'],
|
||||
} as AxiosResponse;
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
import { OnspringClient } from '../src/models/OnspringClient';
|
||||
import { ApiResponse } from '../src/models/ApiResponse';
|
||||
import axios, {
|
||||
type AxiosResponse,
|
||||
type InternalAxiosRequestConfig,
|
||||
} from 'axios';
|
||||
import { expect } from 'chai';
|
||||
import { GetPagedAppsResponse } from '../src/models/GetPagedAppsResponse';
|
||||
import { App } from '../src/models/App';
|
||||
import { CollectionResponse } from '../src/models/CollectionResponse';
|
||||
import { Field } from '../src/models/Field';
|
||||
import { FieldStatus } from '../src/enums/FieldStatus';
|
||||
import { FieldType } from '../src/enums/FieldType';
|
||||
import { GetPagedFieldsResponse } from '../src/models/GetPagedFieldsResponse';
|
||||
import { SaveFileRequest } from '../src/models/SaveFileRequest';
|
||||
import { Readable } from 'stream';
|
||||
import { CreatedWithIdResponse } from '../src/models/CreatedWithIdResponse';
|
||||
import { FileInfo } from '../src/models/FileInfo';
|
||||
import { File } from '../src/models/File';
|
||||
import { ListItemRequest } from '../src/models/ListItemRequest';
|
||||
import { ListItemResponse } from '../src/models/ListItemResponse';
|
||||
import { Report } from '../src/models/Report';
|
||||
import { GetPagedReportsResponse } from '../src/models/GetPagedReportsResponse';
|
||||
import { ReportData } from '../src/models/ReportData';
|
||||
import { GetRecordRequest } from '../src/models/GetRecordRequest';
|
||||
import { Record } from '../src/models/Record';
|
||||
import { RecordValue } from '../src/models/RecordValue';
|
||||
import { GetRecordsByAppIdRequest } from '../src/models/GetRecordsByAppIdRequest';
|
||||
import { GetPagedRecordsResponse } from '../src/models/GetPagedRecordsResponse';
|
||||
import { GetRecordsRequest } from '../src/models/GetRecordsRequest';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import * as sinon from 'sinon';
|
||||
import { Readable } from 'stream';
|
||||
import { FieldStatus } from '../src/enums/FieldStatus';
|
||||
import { FieldType } from '../src/enums/FieldType';
|
||||
import { ApiResponse } from '../src/models/ApiResponse';
|
||||
import { App } from '../src/models/App';
|
||||
import { CollectionResponse } from '../src/models/CollectionResponse';
|
||||
import { CreatedWithIdResponse } from '../src/models/CreatedWithIdResponse';
|
||||
import { Field } from '../src/models/Field';
|
||||
import { File } from '../src/models/File';
|
||||
import { FileInfo } from '../src/models/FileInfo';
|
||||
import { GetPagedAppsResponse } from '../src/models/GetPagedAppsResponse';
|
||||
import { GetPagedFieldsResponse } from '../src/models/GetPagedFieldsResponse';
|
||||
import { GetPagedRecordsResponse } from '../src/models/GetPagedRecordsResponse';
|
||||
import { GetPagedReportsResponse } from '../src/models/GetPagedReportsResponse';
|
||||
import { GetRecordRequest } from '../src/models/GetRecordRequest';
|
||||
import { GetRecordsByAppIdRequest } from '../src/models/GetRecordsByAppIdRequest';
|
||||
import { GetRecordsRequest } from '../src/models/GetRecordsRequest';
|
||||
import { ListItemRequest } from '../src/models/ListItemRequest';
|
||||
import { ListItemResponse } from '../src/models/ListItemResponse';
|
||||
import { OnspringClient } from '../src/models/OnspringClient';
|
||||
import { QueryRecordsRequest } from '../src/models/QueryRecordsRequest';
|
||||
import { Record } from '../src/models/Record';
|
||||
import { RecordValue } from '../src/models/RecordValue';
|
||||
import { Report } from '../src/models/Report';
|
||||
import { ReportData } from '../src/models/ReportData';
|
||||
import { SaveFileRequest } from '../src/models/SaveFileRequest';
|
||||
import { SaveRecordRequest } from '../src/models/SaveRecordRequest';
|
||||
|
||||
describe('OnspringClient', function () {
|
||||
@@ -1796,7 +1796,8 @@ describe('OnspringClient', function () {
|
||||
statusText: 'OK',
|
||||
data: file,
|
||||
headers: {
|
||||
'content-disposition': 'attachment; filename="test-attachment.txt"',
|
||||
'content-disposition':
|
||||
"attachment; filename=test-attachment.txt; filename*=UTF-8''test-attachment.txt",
|
||||
'content-length': 14,
|
||||
'content-type': 'text/plain',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user