anchor.diff:                                           iv_password      TYPE string
                                            iv_2fa_token     TYPE string
                                  RETURNING VALUE(ri_client) TYPE REF TO if_http_client
  -                               RAISING   lcx_2fa_auth_failed.
  +                               RAISING   lcx_2fa_auth_failed
  +                                         lcx_2fa_communication_error.
   ENDCLASS.
   
   CLASS lcl_2fa_github_authenticator IMPLEMENTATION.
     METHOD constructor.
  -    super->constructor( 'https?:\/\/(www\.)?github.com.*$' ).
  +    super->constructor( '^https?://(www\.)?github.com.*$' ).
     ENDMETHOD.
   
     METHOD authenticate.
  
positive.code:     set_list_token_request( li_http_client->request ).
      li_http_client->send( EXCEPTIONS OTHERS = 1 ).
      IF sy-subrc <> 0.
        raise_internal_error_from_sy( ).
      ENDIF.
  
      li_http_client->receive( EXCEPTIONS OTHERS = 1 ).
      IF sy-subrc <> 0.
        raise_internal_error_from_sy( ).
      ENDIF.
  
      li_http_client->response->get_status(
  
negative.code: 
      ri_client->send( EXCEPTIONS OTHERS = 1 ).
      IF sy-subrc <> 0.
        raise_comm_error_from_sy( ).
      ENDIF.
  
      ri_client->receive( EXCEPTIONS OTHERS = 1 ).
      IF sy-subrc <> 0.
        raise_comm_error_from_sy( ).
      ENDIF.
  
      " Check if authentication has succeeded
  