post method Null safety

Future<DaktelaResponse> post(
  1. String endpoint,
  2. {Map<String, dynamic>? payload,
  3. Map<String, dynamic>? queryParameters,
  4. bool nestedDecoding = true}
)

HTTP POST method endpoint - name of endpoint payload - map of payload queryParameters - map of query parameters (we recommend you to use DaktelaQueryMap to build request's query) nestedDecoding - flag for response decoding (default is true for standard response decoding)

Implementation

Future<DaktelaResponse> post(String endpoint, {Map<String, dynamic>? payload, Map<String, dynamic>? queryParameters, bool nestedDecoding = true}) async {
  Map<String, String> headers = _prepareHeaders(headers: _contentTypeJson);
  _logRequest('POST', endpoint, payload, queryParameters, headers);
  try {
    http.Response response = await http.post(_buildUri(endpoint, queryParameters), body: jsonEncode(payload), headers: headers).timeout(_config.timeout);
    return _parseResponse(response, nestedDecoding);
  } on TimeoutException catch (e, st) {
    _config.logger?.log('Timeout', error: e, stackTrace: st);
    throw DaktelaException(0, _errors.timeout);
  }
}