vexana 1.1.5 vexana: ^1.1.5 copied to clipboard
flutter network helper project..
vexana #
Vexana is easy use network proccess with dio. You can do dynamic model parse, base error model, timeout and many utitliy functions.
Getting Started 🔥 #
Let's talk use detail.
Network Manager 😎 #
Have a a lot options: baseurl, logger, interceptors, base model etc.
INetworkManager networkManager = NetworkManager(isEnableLogger: true, options: BaseOptions(baseUrl: "https://jsonplaceholder.typicode.com/"));
Model Parse ⚔️ #
You have give to first parse model, second result model. (Result model could be list, model or primitive)
final response =
await networkManager.fetch<Todo, List<Todo>>("/todos", parseModel: Todo(), method: RequestType.GET);
Network Model 🛒 #
You must be wrap model to INetoworkModel so we understand model has a toJson and toFrom properties.
class Todo extends INetworkModel<Todo>
Refresh Token ♻️ #
Many projects use authentication structure for mobile security (like a jwt). It could need to renew an older token when the token expires. This time have a refresh token options, and I do lock all requests until the token refresh process is complete.
Since i locked all requests, I am giving a new service instance.
INetworkManager networkManager = NetworkManager(isEnableLogger: true, options: BaseOptions(baseUrl: "https://jsonplaceholder.typicode.com/",
onRefreshFail: () { //Navigate to login },
onRefreshToken: (error, newService) async {
<!-- Write your refresh token business -->
<!-- Then update error.req.headers to new token -->
return error;
}));
Tasks #
- ✅ Example project
- ✅ Unit Test with json place holder
- ✅ Unit Test with custom api
- ❌ Make a unit test all layers.
- ❌ Cache Option
- ✅ Refresh Token Architecture
- ❌ Usage Utility
License #
2020 created for @VB10