2
0
mirror of https://github.com/esiur/esiur-dart.git synced 2026-04-04 02:08:21 +00:00
Files
esiur-dart/lib/src/Security/Membership/AuthorizationRequest.dart
2024-11-09 07:25:46 +03:00

45 lines
1.4 KiB
Dart

import '../../Data/IntType.dart';
import '../../Net/Packets/IIPAuthPacketIAuthDestination.dart';
import '../../Net/Packets/IIPAuthPacketIAuthFormat.dart';
import '../../Net/Packets/IIPAuthPacketIAuthHeader.dart';
class AuthorizationRequest {
int reference = 0;
int destination = IIPAuthPacketIAuthDestination.Self;
String? clue;
IIPAuthPacketIAuthFormat? requiredFormat;
IIPAuthPacketIAuthFormat? contentFormat;
dynamic content;
int? trials;
DateTime? issue;
DateTime? expire;
int get timeout =>
expire != null ? DateTime.now().difference(expire!).inSeconds : 0;
AuthorizationRequest(Map<UInt8, dynamic> headers) {
reference = headers[IIPAuthPacketIAuthHeader.Reference];
destination = headers[IIPAuthPacketIAuthHeader.Destination];
clue = headers[IIPAuthPacketIAuthHeader.Clue];
if (headers.containsKey(IIPAuthPacketIAuthHeader.RequiredFormat))
requiredFormat = headers[IIPAuthPacketIAuthHeader.RequiredFormat];
if (headers.containsKey(IIPAuthPacketIAuthHeader.ContentFormat))
contentFormat = headers[IIPAuthPacketIAuthHeader.ContentFormat];
if (headers.containsKey(IIPAuthPacketIAuthHeader.Content))
content = headers[IIPAuthPacketIAuthHeader.Content];
if (headers.containsKey(IIPAuthPacketIAuthHeader.Trials))
trials = headers[IIPAuthPacketIAuthHeader.Trials];
if (headers.containsKey(IIPAuthPacketIAuthHeader.Expire))
expire = headers[IIPAuthPacketIAuthHeader.Expire];
}
}