import 'dart:io'; import 'package:workouttest_util/model/mautic.dart'; import 'package:workouttest_util/util/logging.dart'; class MauticApi with Logging { final String mauticUrl = "https://mautic.workouttest.org/form/submit?formId="; Future sendMauticForm(Mautic model) async { final String body = model.toForm(); log(" ===== mautic subscription: $body"); HttpClient client = HttpClient(); String url = mauticUrl + model.formId.toString(); var uri = Uri.parse(url); final HttpClientRequest request = await client.postUrl(uri); request.headers.set('Content-Type', 'application/x-www-form-urlencoded'); request.headers.set('cache-control', 'no-cache'); request.write(body); HttpClientResponse result = await request.close(); client.close(); if (!(result.statusCode == 200 || result.statusCode == 302)) { trace("mautic response: ${result.statusCode}"); //throw Exception("Network error, try again later!"); } } }