order method

Future<Order?> order(
  1. Order order
)

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;
  }
}