@@ -57,7 +57,7 @@ struct APIService {
5757 /// - model: данные для изменения
5858 /// - Returns: `true` в случае успеха, `false` при ошибках
5959 func editUser( _ id: Int , model: MainUserForm ) async throws -> Bool {
60- let authData = await defaults. basicAuthInfo
60+ let authData = try await defaults. basicAuthInfo ( )
6161 let endpoint = Endpoint . editUser ( id: id, form: model)
6262 let result = try await makeResult ( UserResponse . self, for: endpoint. urlRequest)
6363 await defaults. saveAuthData ( . init( login: model. userName, password: authData. password) )
@@ -77,7 +77,7 @@ struct APIService {
7777
7878 /// Запрашивает удаление профиля текущего пользователя приложения
7979 func deleteUser( ) async throws {
80- let endpoint = await Endpoint . deleteUser ( auth: defaults. basicAuthInfo)
80+ let endpoint = try await Endpoint . deleteUser ( auth: defaults. basicAuthInfo ( ) )
8181 if try await makeStatus ( for: endpoint. urlRequest) {
8282 await defaults. triggerLogout ( )
8383 }
@@ -495,20 +495,6 @@ private extension APIService {
495495 return . init( configuration: config)
496496 }
497497
498- func finalRequest( _ request: URLRequest ? , needAuth: Bool = true ) async -> URLRequest ? {
499- if needAuth,
500- let encodedString = await defaults. basicAuthInfo. base64Encoded {
501- var requestWithBasicAuth = request
502- requestWithBasicAuth? . setValue (
503- " Basic \( encodedString) " ,
504- forHTTPHeaderField: " Authorization "
505- )
506- return requestWithBasicAuth
507- } else {
508- return request
509- }
510- }
511-
512498 /// Загружает данные в нужном формате или отдает ошибку
513499 /// - Parameters:
514500 /// - type: тип, который нужно загрузить
@@ -533,6 +519,25 @@ private extension APIService {
533519 return try handle ( response)
534520 }
535521
522+ /// Формирует итоговый запрос к серверу
523+ /// - Parameters:
524+ /// - request: первоначальный запрос
525+ /// - needAuth: `true` - нужна базовая аутентификация, `false` - не нужна
526+ /// - Returns: Итоговый запрос к серверу
527+ func finalRequest( _ request: URLRequest ? , needAuth: Bool = true ) async -> URLRequest ? {
528+ if needAuth,
529+ let encodedString = try ? await defaults. basicAuthInfo ( ) . base64Encoded {
530+ var requestWithBasicAuth = request
531+ requestWithBasicAuth? . setValue (
532+ " Basic \( encodedString) " ,
533+ forHTTPHeaderField: " Authorization "
534+ )
535+ return requestWithBasicAuth
536+ } else {
537+ return request
538+ }
539+ }
540+
536541 /// Обрабатывает ответ сервера и возвращает данные в нужном формате
537542 func handle< T: Decodable > (
538543 _ type: T . Type ,
@@ -548,7 +553,7 @@ private extension APIService {
548553 }
549554#if DEBUG
550555 print ( " --- Получили ответ: " )
551- dump ( response)
556+ print ( response)
552557 print ( " --- Полученный JSON: \n \( data. prettyJson) " )
553558 do {
554559 _ = try JSONDecoder ( ) . decode ( type, from: data)
@@ -564,7 +569,7 @@ private extension APIService {
564569 func handle( _ response: URLResponse ? ) throws -> Bool {
565570#if DEBUG
566571 print ( " --- Получили ответ: " )
567- dump ( response)
572+ print ( response)
568573#endif
569574 let responseCode = ( response as? HTTPURLResponse ) ? . statusCode
570575 if responseCode != Constants . API. codeOK {
0 commit comments