shareSelectedRequest method

void shareSelectedRequest({
  1. Rect? sharePositionOrigin,
  2. ShareType shareType = ShareType.NormalLog,
})

Implementation

void shareSelectedRequest({
  Rect? sharePositionOrigin,
  ShareType shareType = ShareType.NormalLog,
}) {
  String? requestShareContent;
  if (shareType == ShareType.CurlCommand) {
    final curlCommandGenerator = CurlCommandGenerator(_selectedRequest!);
    requestShareContent = curlCommandGenerator.generate();
  } else if (shareType == ShareType.NormalLog) {
    final requestMap = _selectedRequest!.toMap();
    requestShareContent = _formatMap(requestMap);
  } else if (shareType == ShareType.Har) {
    final curlCommandGenerator = CurlCommandGenerator(_selectedRequest!);
    final curlContent = curlCommandGenerator.generate();

    final harGenerator = HarGenerator();
    requestShareContent = harGenerator.generate(
      request: _selectedRequest!,
      curlCommand: curlContent,
    );
  } else if (shareType == ShareType.HarFile) {
    final curlCommandGenerator = CurlCommandGenerator(_selectedRequest!);
    final curlContent = curlCommandGenerator.generate();

    final harGenerator = HarGenerator();
    final harJson = harGenerator.generate(
      request: _selectedRequest!,
      curlCommand: curlContent,
    );

    final file = XFile.fromData(
      utf8.encode(harJson),
      name: 'request.har',
      mimeType: 'application/json',
    );

    Share.shareXFiles(
      [file],
      sharePositionOrigin: sharePositionOrigin,
    );
    return;
  } else {
    final curlCommandGenerator = CurlCommandGenerator(_selectedRequest!);
    final curlContent = curlCommandGenerator.generate();

    final requestMap = _selectedRequest!.toMap();
    final normalLogContent = _formatMap(requestMap);

    requestShareContent =
        '================[cURL Command]=================\n$curlContent\n\n==================[Normal Log]===================\n$normalLogContent';
  }

  Share.share(
    requestShareContent,
    sharePositionOrigin: sharePositionOrigin,
  );
}