order method
Starts a new order
RFC: https://datatracker.ietf.org/doc/html/rfc8555#section-7.4
Implementation
Future<Order?> order(Order order) async {
var jws = await _createJWS(directories!.newOrder!,
useKid: true, payload: order.toJson());
var body = json.encode(jws.toJson());
var headers = {'Content-Type': 'application/jose+json'};
try {
var response = await Dio().post(
directories!.newOrder!,
data: body,
options: Options(headers: headers),
);
nonce = response.headers.map[HEADER_REPLAY_NONCE]!.first;
var orderUrl = '';
if (!response.headers.isEmpty) {
if (response.headers.map.containsKey('Location')) {
orderUrl = response.headers.map['Location']!.first;
}
}
var newOrder = Order.fromJson(response.data);
newOrder.orderUrl = orderUrl;
return newOrder;
} on DioException catch (e) {
print(e.response!.data!.toString());
nonce = e.response!.headers.map[HEADER_REPLAY_NONCE]!.first;
return null;
}
}