```diff
--- test_files/500-original.txt	2025-03-07 19:07:04
+++ test_files/500-modified.txt	2025-03-07 19:07:04
@@ -1,301 +1,337 @@
-import logger from '../../../utils/logger';
-import { ApiError } from './ApiError';
-import type { ApiRequestOptions } from './ApiRequestOptions';
-import type { ApiResult } from './ApiResult';
-import { CancelablePromise } from './CancelablePromise';
-import type { OnCancel } from './CancelablePromise';
-import type { OpenAPIConfig } from './OpenAPI';
+import logger from "../../../utils/logger";
+import { ApiError } from "./ApiError";
+import type { ApiRequestOptions } from "./ApiRequestOptions";
+import type { ApiResult } from "./ApiResult";
+import type { OnCancel } from "./CancelablePromise";
+import { CancelablePromise } from "./CancelablePromise";
+import type { OpenAPIConfig } from "./OpenAPI";
 
 export const isString = (value: unknown): value is string => {
-	return typeof value === 'string';
+  return typeof value === "string";
 };
 
 export const isStringWithValue = (value: unknown): value is string => {
-	return isString(value) && value !== '';
+  return isString(value) && value !== "";
 };
 
 export const isBlob = (value: any): value is Blob => {
-	return value instanceof Blob;
+  return value instanceof Blob;
 };
 
 export const isFormData = (value: unknown): value is FormData => {
-	return value instanceof FormData;
+  return value instanceof FormData;
 };
 
 export const base64 = (str: string): string => {
-	try {
-		return btoa(str);
-	} catch (err) {
-		// @ts-ignore
-		return Buffer.from(str).toString('base64');
-	}
+  try {
+    return btoa(str);
+  } catch (err) {
+    // @ts-ignore
+    return Buffer.from(str).toString("base64");
+  }
 };
 
 export const getQueryString = (params: Record<string, unknown>): string => {
-	const qs: string[] = [];
+  const qs: string[] = [];
 
-	const append = (key: string, value: unknown) => {
-		qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
-	};
+  const append = (key: string, value: unknown) => {
+    qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
+  };
 
-	const encodePair = (key: string, value: unknown) => {
-		if (value === undefined || value === null) {
-			return;
-		}
+  const encodePair = (key: string, value: unknown) => {
+    if (value === undefined || value === null) {
+      return;
+    }
 
-		if (value instanceof Date) {
-			append(key, value.toISOString());
-		} else if (Array.isArray(value)) {
-			value.forEach(v => encodePair(key, v));
-		} else if (typeof value === 'object') {
-			Object.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v));
-		} else {
-			append(key, value);
-		}
-	};
+    if (value instanceof Date) {
+      append(key, value.toISOString());
+    } else if (Array.isArray(value)) {
+      value.forEach((v) => encodePair(key, v));
+    } else if (typeof value === "object") {
+      Object.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v));
+    } else {
+      append(key, value);
+    }
+  };
 
-	Object.entries(params).forEach(([key, value]) => encodePair(key, value));
+  Object.entries(params).forEach(([key, value]) => encodePair(key, value));
 
-	return qs.length ? `?${qs.join('&')}` : '';
+  return qs.length ? `?${qs.join("&")}` : "";
 };
 
 const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {
-	const encoder = config.ENCODE_PATH || encodeURI;
+  const encoder = config.ENCODE_PATH || encodeURI;
 
-	const path = options.url
-		.replace('{api-version}', config.VERSION)
-		.replace(/{(.*?)}/g, (substring: string, group: string) => {
-			if (options.path?.hasOwnProperty(group)) {
-				return encoder(String(options.path[group]));
-			}
-			return substring;
-		});
+  const path = options.url
+    .replace("{api-version}", config.VERSION)
+    .replace(/{(.*?)}/g, (substring: string, group: string) => {
+      if (options.path?.hasOwnProperty(group)) {
+        return encoder(String(options.path[group]));
+      }
+      return substring;
+    });
 
-	const url = config.BASE + path;
-	return options.query ? url + getQueryString(options.query) : url;
+  const url = config.BASE + path;
+  return options.query ? url + getQueryString(options.query) : url;
 };
 
-export const getFormData = (options: ApiRequestOptions): FormData | undefined => {
-	if (options.formData) {
-		const formData = new FormData();
+export const getFormData = (
+  options: ApiRequestOptions
+): FormData | undefined => {
+  if (options.formData) {
+    const formData = new FormData();
 
-		const process = (key: string, value: unknown) => {
-			if (isString(value) || isBlob(value)) {
-				formData.append(key, value);
-			} else {
-				formData.append(key, JSON.stringify(value));
-			}
-		};
+    const process = (key: string, value: unknown) => {
+      if (isString(value) || isBlob(value)) {
+        formData.append(key, value);
+      } else {
+        formData.append(key, JSON.stringify(value));
+      }
+    };
 
-		Object.entries(options.formData)
-			.filter(([, value]) => value !== undefined && value !== null)
-			.forEach(([key, value]) => {
-				if (Array.isArray(value)) {
-					value.forEach(v => process(key, v));
-				} else {
-					process(key, value);
-				}
-			});
+    Object.entries(options.formData)
+      .filter(([, value]) => value !== undefined && value !== null)
+      .forEach(([key, value]) => {
+        if (Array.isArray(value)) {
+          value.forEach((v) => process(key, v));
+        } else {
+          process(key, value);
+        }
+      });
 
-		return formData;
-	}
-	return undefined;
+    return formData;
+  }
+  return undefined;
 };
 
 type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
 
-export const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {
-	if (typeof resolver === 'function') {
-		return (resolver as Resolver<T>)(options);
-	}
-	return resolver;
+export const resolve = async <T>(
+  options: ApiRequestOptions,
+  resolver?: T | Resolver<T>
+): Promise<T | undefined> => {
+  if (typeof resolver === "function") {
+    return (resolver as Resolver<T>)(options);
+  }
+  return resolver;
 };
 
-export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise<Headers> => {
-	const [token, username, password, additionalHeaders] = await Promise.all([
-		resolve(options, config.TOKEN),
-		resolve(options, config.USERNAME),
-		resolve(options, config.PASSWORD),
-		resolve(options, config.HEADERS),
-	]);
+export const getHeaders = async (
+  config: OpenAPIConfig,
+  options: ApiRequestOptions
+): Promise<Headers> => {
+  const [token, username, password, additionalHeaders] = await Promise.all([
+    resolve(options, config.TOKEN),
+    resolve(options, config.USERNAME),
+    resolve(options, config.PASSWORD),
+    resolve(options, config.HEADERS),
+  ]);
 
-	const headers = Object.entries({
-		Accept: 'application/json',
-		...additionalHeaders,
-		...options.headers,
-	})
-		.filter(([, value]) => value !== undefined && value !== null)
-		.reduce((headers, [key, value]) => ({
-			...headers,
-			[key]: String(value),
-		}), {} as Record<string, string>);
+  const headers = Object.entries({
+    Accept: "application/json",
+    ...additionalHeaders,
+    ...options.headers,
+  })
+    .filter(([, value]) => value !== undefined && value !== null)
+    .reduce(
+      (headers, [key, value]) => ({
+        ...headers,
+        [key]: String(value),
+      }),
+      {} as Record<string, string>
+    );
 
-	if (isStringWithValue(token)) {
-		headers['Authorization'] = `Bearer ${token}`;
-	}
+  if (isStringWithValue(token)) {
+    headers["Authorization"] = `Bearer ${token}`;
+  }
 
-	if (isStringWithValue(username) && isStringWithValue(password)) {
-		const credentials = base64(`${username}:${password}`);
-		headers['Authorization'] = `Basic ${credentials}`;
-	}
+  if (isStringWithValue(username) && isStringWithValue(password)) {
+    const credentials = base64(`${username}:${password}`);
+    headers["Authorization"] = `Basic ${credentials}`;
+  }
 
-	if (options.body !== undefined) {
-		if (options.mediaType) {
-			headers['Content-Type'] = options.mediaType;
-		} else if (isBlob(options.body)) {
-			headers['Content-Type'] = options.body.type || 'application/octet-stream';
-		} else if (isString(options.body)) {
-			headers['Content-Type'] = 'text/plain';
-		} else if (!isFormData(options.body)) {
-			headers['Content-Type'] = 'application/json';
-		}
-	}
+  if (options.body !== undefined) {
+    if (options.mediaType) {
+      headers["Content-Type"] = options.mediaType;
+    } else if (isBlob(options.body)) {
+      headers["Content-Type"] = options.body.type || "application/octet-stream";
+    } else if (isString(options.body)) {
+      headers["Content-Type"] = "text/plain";
+    } else if (!isFormData(options.body)) {
+      headers["Content-Type"] = "application/json";
+    }
+  }
 
-	return new Headers(headers);
+  return new Headers(headers);
 };
 
 export const getRequestBody = (options: ApiRequestOptions): unknown => {
-	if (options.body !== undefined) {
-		if (options.mediaType?.includes('application/json') || options.mediaType?.includes('+json')) {
-			return JSON.stringify(options.body);
-		} else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {
-			return options.body;
-		} else {
-			return JSON.stringify(options.body);
-		}
-	}
-	return undefined;
+  if (options.body !== undefined) {
+    if (
+      options.mediaType?.includes("application/json") ||
+      options.mediaType?.includes("+json")
+    ) {
+      return JSON.stringify(options.body);
+    } else if (
+      isString(options.body) ||
+      isBlob(options.body) ||
+      isFormData(options.body)
+    ) {
+      return options.body;
+    } else {
+      return JSON.stringify(options.body);
+    }
+  }
+  return undefined;
 };
 
 export const sendRequest = async (
-	config: OpenAPIConfig,
-	options: ApiRequestOptions,
-	url: string,
-	body: any,
-	formData: FormData | undefined,
-	headers: Headers,
-	onCancel: OnCancel
+  config: OpenAPIConfig,
+  options: ApiRequestOptions,
+  url: string,
+  body: any,
+  formData: FormData | undefined,
+  headers: Headers,
+  onCancel: OnCancel
 ): Promise<Response> => {
-	const controller = new AbortController();
+  const controller = new AbortController();
 
-	let request: RequestInit = {
-		headers,
-		body: body ?? formData,
-		method: options.method,
-		signal: controller.signal,
-	};
+  let request: RequestInit = {
+    headers,
+    body: body ?? formData,
+    method: options.method,
+    signal: controller.signal,
+  };
 
-	if (config.WITH_CREDENTIALS) {
-		request.credentials = config.CREDENTIALS;
-	}
+  if (config.WITH_CREDENTIALS) {
+    request.credentials = config.CREDENTIALS;
+  }
 
-	for (const fn of config.interceptors.request._fns) {
-		request = await fn(request);
-	}
+  for (const fn of config.interceptors.request._fns) {
+    request = await fn(request);
+  }
 
-	onCancel(() => controller.abort());
+  onCancel(() => controller.abort());
 
-	return await fetch(url, request);
+  return await fetch(url, request);
 };
 
-export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {
-	if (responseHeader) {
-		const content = response.headers.get(responseHeader);
-		if (isString(content)) {
-			return content;
-		}
-	}
-	return undefined;
+export const getResponseHeader = (
+  response: Response,
+  responseHeader?: string
+): string | undefined => {
+  if (responseHeader) {
+    const content = response.headers.get(responseHeader);
+    if (isString(content)) {
+      return content;
+    }
+  }
+  return undefined;
 };
 
 export const getResponseBody = async (response: Response): Promise<unknown> => {
-	if (response.status !== 204) {
-		try {
-			const contentType = response.headers.get('Content-Type');
-			if (contentType) {
-				const binaryTypes = ['application/octet-stream', 'application/pdf', 'application/zip', 'audio/', 'image/', 'video/'];
-				if (contentType.includes('application/json') || contentType.includes('+json')) {
-					return await response.json();
-				} else if (binaryTypes.some(type => contentType.includes(type))) {
-					return await response.blob();
-				} else if (contentType.includes('multipart/form-data')) {
-					return await response.formData();
-				} else if (contentType.includes('text/')) {
-					return await response.text();
-				}
-			}
-		} catch (error) {
-			logger.error(`Error in getResponseBody: ${error}`, error);
-		}
-	}
-	return undefined;
+  if (response.status !== 204) {
+    try {
+      const contentType = response.headers.get("Content-Type");
+      if (contentType) {
+        const binaryTypes = [
+          "application/octet-stream",
+          "application/pdf",
+          "application/zip",
+          "audio/",
+          "image/",
+          "video/",
+        ];
+        if (
+          contentType.includes("application/json") ||
+          contentType.includes("+json")
+        ) {
+          return await response.json();
+        } else if (binaryTypes.some((type) => contentType.includes(type))) {
+          return await response.blob();
+        } else if (contentType.includes("multipart/form-data")) {
+          return await response.formData();
+        } else if (contentType.includes("text/")) {
+          return await response.text();
+        }
+      }
+    } catch (error) {
+      logger.error(`Error in getResponseBody: ${error}`, error);
+    }
+  }
+  return undefined;
 };
 
-export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {
-	const errors: Record<number, string> = {
-		400: 'Bad Request',
-		401: 'Unauthorized',
-		402: 'Payment Required',
-		403: 'Forbidden',
-		404: 'Not Found',
-		405: 'Method Not Allowed',
-		406: 'Not Acceptable',
-		407: 'Proxy Authentication Required',
-		408: 'Request Timeout',
-		409: 'Conflict',
-		410: 'Gone',
-		411: 'Length Required',
-		412: 'Precondition Failed',
-		413: 'Payload Too Large',
-		414: 'URI Too Long',
-		415: 'Unsupported Media Type',
-		416: 'Range Not Satisfiable',
-		417: 'Expectation Failed',
-		418: 'Im a teapot',
-		421: 'Misdirected Request',
-		422: 'Unprocessable Content',
-		423: 'Locked',
-		424: 'Failed Dependency',
-		425: 'Too Early',
-		426: 'Upgrade Required',
-		428: 'Precondition Required',
-		429: 'Too Many Requests',
-		431: 'Request Header Fields Too Large',
-		451: 'Unavailable For Legal Reasons',
-		500: 'Internal Server Error',
-		501: 'Not Implemented',
-		502: 'Bad Gateway',
-		503: 'Service Unavailable',
-		504: 'Gateway Timeout',
-		505: 'HTTP Version Not Supported',
-		506: 'Variant Also Negotiates',
-		507: 'Insufficient Storage',
-		508: 'Loop Detected',
-		510: 'Not Extended',
-		511: 'Network Authentication Required',
-		...options.errors,
-	}
+export const catchErrorCodes = (
+  options: ApiRequestOptions,
+  result: ApiResult
+): void => {
+  const errors: Record<number, string> = {
+    400: "Bad Request",
+    401: "Unauthorized",
+    402: "Payment Required",
+    403: "Forbidden",
+    404: "Not Found",
+    405: "Method Not Allowed",
+    406: "Not Acceptable",
+    407: "Proxy Authentication Required",
+    408: "Request Timeout",
+    409: "Conflict",
+    410: "Gone",
+    411: "Length Required",
+    412: "Precondition Failed",
+    413: "Payload Too Large",
+    414: "URI Too Long",
+    415: "Unsupported Media Type",
+    416: "Range Not Satisfiable",
+    417: "Expectation Failed",
+    418: "Im a teapot",
+    421: "Misdirected Request",
+    422: "Unprocessable Content",
+    423: "Locked",
+    424: "Failed Dependency",
+    425: "Too Early",
+    426: "Upgrade Required",
+    428: "Precondition Required",
+    429: "Too Many Requests",
+    431: "Request Header Fields Too Large",
+    451: "Unavailable For Legal Reasons",
+    500: "Internal Server Error",
+    501: "Not Implemented",
+    502: "Bad Gateway",
+    503: "Service Unavailable",
+    504: "Gateway Timeout",
+    505: "HTTP Version Not Supported",
+    506: "Variant Also Negotiates",
+    507: "Insufficient Storage",
+    508: "Loop Detected",
+    510: "Not Extended",
+    511: "Network Authentication Required",
+    ...options.errors,
+  };
 
-	const error = errors[result.status];
-	if (error) {
-		throw new ApiError(options, result, error);
-	}
+  const error = errors[result.status];
+  if (error) {
+    throw new ApiError(options, result, error);
+  }
 
-	if (!result.ok) {
-		const errorStatus = result.status ?? 'unknown';
-		const errorStatusText = result.statusText ?? 'unknown';
-		const errorBody = (() => {
-			try {
-				return JSON.stringify(result.body, null, 2);
-			} catch (e) {
-				return undefined;
-			}
-		})();
+  if (!result.ok) {
+    const errorStatus = result.status ?? "unknown";
+    const errorStatusText = result.statusText ?? "unknown";
+    const errorBody = (() => {
+      try {
+        return JSON.stringify(result.body, null, 2);
+      } catch (e) {
+        return undefined;
+      }
+    })();
 
-		throw new ApiError(options, result,
-			`Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`
-		);
-	}
+    throw new ApiError(
+      options,
+      result,
+      `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`
+    );
+  }
 };
 
 /**
@@ -305,38 +341,52 @@
  * @returns CancelablePromise<T>
  * @throws ApiError
  */
-export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {
-	return new CancelablePromise(async (resolve, reject, onCancel) => {
-		try {
-			const url = getUrl(config, options);
-			const formData = getFormData(options);
-			const body = getRequestBody(options);
-			const headers = await getHeaders(config, options);
+export const request = <T>(
+  config: OpenAPIConfig,
+  options: ApiRequestOptions
+): CancelablePromise<T> => {
+  return new CancelablePromise(async (resolve, reject, onCancel) => {
+    try {
+      const url = getUrl(config, options);
+      const formData = getFormData(options);
+      const body = getRequestBody(options);
+      const headers = await getHeaders(config, options);
 
-			if (!onCancel.isCancelled) {
-				let response = await sendRequest(config, options, url, body, formData, headers, onCancel);
+      if (!onCancel.isCancelled) {
+        let response = await sendRequest(
+          config,
+          options,
+          url,
+          body,
+          formData,
+          headers,
+          onCancel
+        );
 
-				for (const fn of config.interceptors.response._fns) {
-					response = await fn(response);
-				}
+        for (const fn of config.interceptors.response._fns) {
+          response = await fn(response);
+        }
 
-				const responseBody = await getResponseBody(response);
-				const responseHeader = getResponseHeader(response, options.responseHeader);
+        const responseBody = await getResponseBody(response);
+        const responseHeader = getResponseHeader(
+          response,
+          options.responseHeader
+        );
 
-				const result: ApiResult = {
-					url,
-					ok: response.ok,
-					status: response.status,
-					statusText: response.statusText,
-					body: responseHeader ?? responseBody,
-				};
+        const result: ApiResult = {
+          url,
+          ok: response.ok,
+          status: response.status,
+          statusText: response.statusText,
+          body: responseHeader ?? responseBody,
+        };
 
-				catchErrorCodes(options, result);
+        catchErrorCodes(options, result);
 
-				resolve(result.body);
-			}
-		} catch (error) {
-			reject(error);
-		}
-	});
-};
\ No newline at end of file
+        resolve(result.body);
+      }
+    } catch (error) {
+      reject(error);
+    }
+  });
+};
```
