workouttest_util/lib/service/mautic.dart
2023-01-28 12:53:16 +01:00

30 lines
992 B
Dart

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<void> 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!");
}
}
}