fromChain static method

Danger<SuccessResponse, CitrusResponseExceptionA> fromChain(
  1. Chain chain
)
override

Implementation

static Danger<SuccessResponse, CitrusResponseExceptionA> fromChain(Chain chain) {

    final log = Log(classLocation: SuccessResponse, functionLocation: 'fromChain');

    final requestResult = chain.getOptionAsSingleString(JSON_KEY_REQUEST);
    log.add(requestResult);
    if (requestResult is! Success<String, ChainExceptionIJK>) return Failure(CitrusResponseExceptionA(), log);

    final descriptionResult = chain.getOptionAsMultipleString(JSON_KEY_DESCRIPTION);
    log.add(descriptionResult);
    if (descriptionResult is! Success<List<String>, ChainExceptionI>) return Failure(CitrusResponseExceptionA(), log);

    final logResult = chain.getOptionAsSingleString(JSON_KEY_LOG);
    log.add(logResult);
    if (logResult is! Success<String, ChainExceptionIJK>) return Failure(CitrusResponseExceptionA(), log);

    final result = SuccessResponse(
        requestResult.wrapped,
        descriptionResult.wrapped,
        logResult.wrapped,
    );

    return Success(result, log);

}