dm_regex_request Function

public function dm_regex_request(request) result(rc)

Uses

  • proc~~dm_regex_request~~UsesGraph proc~dm_regex_request dm_regex_request module~dm_request dm_request proc~dm_regex_request->module~dm_request module~dm_response dm_response proc~dm_regex_request->module~dm_response module~dm_string dm_string proc~dm_regex_request->module~dm_string module~dm_util dm_util proc~dm_regex_request->module~dm_util module~dm_request->module~dm_response module~dm_request->module~dm_string module~dm_request->module~dm_util module~dm_error dm_error module~dm_request->module~dm_error module~dm_id dm_id module~dm_request->module~dm_id module~dm_kind dm_kind module~dm_request->module~dm_kind module~dm_time dm_time module~dm_request->module~dm_time module~dm_response->module~dm_util module~dm_response->module~dm_error module~dm_response->module~dm_id module~dm_response->module~dm_kind module~dm_string->module~dm_error module~dm_string->module~dm_kind module~dm_util->module~dm_error module~dm_util->module~dm_kind module~dm_error->module~dm_kind module~dm_ascii dm_ascii module~dm_error->module~dm_ascii iso_fortran_env iso_fortran_env module~dm_kind->iso_fortran_env module~dm_time->module~dm_util module~dm_time->module~dm_error module~dm_time->module~dm_kind

Extracts all values by group from raw response in given request type. The regular expression is compiled and destroyed by this function. The response error is set to any occuring error code.

The function sets the following request error codes and returns:

  • E_INCOMPLETE if the request contains no pattern or no responses.
  • E_INVALID if the regular expression is invalid.
  • E_REGEX if a PCRE2 library error occured.
  • E_REGEX_COMPILE if the pattern failed to compile.
  • E_REGEX_EXCEEDED if the number of matches exceeds the O vector size.
  • E_REGEX_NO_MATCH if the pattern does not match.

The function sets the following response error codes:

  • E_EMPTY if response string of regular expression group is empty.
  • E_INCOMPLETE if response could not be extracted.
  • E_REGEX_NO_GROUP if no regular expression group matches.

Arguments

Type IntentOptional Attributes Name
type(request_type), intent(inout) :: request

Request type.

Return Value integer


Calls

proc~~dm_regex_request~~CallsGraph proc~dm_regex_request dm_regex_request interface~dm_string_to dm_string_to proc~dm_regex_request->interface~dm_string_to interface~dm_to_real64 dm_to_real64 proc~dm_regex_request->interface~dm_to_real64 pcre2_match pcre2_match proc~dm_regex_request->pcre2_match pcre2_match_data_create pcre2_match_data_create proc~dm_regex_request->pcre2_match_data_create pcre2_match_data_free pcre2_match_data_free proc~dm_regex_request->pcre2_match_data_free pcre2_substring_get_byname pcre2_substring_get_byname proc~dm_regex_request->pcre2_substring_get_byname proc~dm_is_error dm_is_error proc~dm_regex_request->proc~dm_is_error proc~dm_regex_create dm_regex_create proc~dm_regex_request->proc~dm_regex_create proc~dm_regex_destroy dm_regex_destroy proc~dm_regex_request->proc~dm_regex_destroy proc~dm_int32_to_real64 dm_int32_to_real64 interface~dm_to_real64->proc~dm_int32_to_real64 proc~dm_int64_to_real64 dm_int64_to_real64 interface~dm_to_real64->proc~dm_int64_to_real64 proc~dm_logical_to_real64 dm_logical_to_real64 interface~dm_to_real64->proc~dm_logical_to_real64 proc~dm_real32_to_real64 dm_real32_to_real64 interface~dm_to_real64->proc~dm_real32_to_real64 pcre2_compile pcre2_compile proc~dm_regex_create->pcre2_compile pcre2_get_error_message pcre2_get_error_message proc~dm_regex_create->pcre2_get_error_message pcre2_code_free pcre2_code_free proc~dm_regex_destroy->pcre2_code_free