Muhammed9991 / SwiftNetworkManager

Network request manager created using Swift Concurrency and Swift Actors

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NetworkManager

The network manager was created using Swift concurrency (async/awai). It can do the following:

  • Log where username and password are coming in the form of form-data
  • HTTP GET
  • HTTP POST
  • HTTP PATCH
  • HTTP PUT
  • HTTP DELETE
  • In an event where a 401 is returned. Initial assumption is that the token has expired. The request is re-tried with new token

Steps of authentication:

  • Succesful
    • Recieve token from API
    • Store token in keychain // This needs to be called at login in the View
    • Store username in keychain (for token refresh) // This needs to be called at login in the View
    • Store password in keychain (for token refresh) // This needs to be called at login in the View
  • Failure:
    • Error 401 is thrown

Note:

  • This package will not work as is. Currently its using local host for both live and debug environment.
  • The login method will return the Token only (at success). To store the items in keychain, you will have to use LoginAuth.saveToken or its alternatives.
  • See https://github.com/Muhammed9991/swift-concurrency-network-manager for a dummy project with login and logout screen (need your own API at the moment, however you can check the implementation)

About

Network request manager created using Swift Concurrency and Swift Actors


Languages

Language:Swift 100.0%