anchor.diff:      ls_result_line-value = lr_data_ref.
       APPEND ls_result_line TO lt_result_parvalues.
   
  -    lv_binary_response = ii_entity->get_binary_data( ).
  +    lv_binary_response = ii_response->get_data( ).
  +
       CALL TRANSFORMATION id SOURCE XML lv_binary_response
                              RESULT (lt_result_parvalues).
     ENDMETHOD.
  
positive.code:     CONSTANTS: lc_github_api_url              TYPE string VALUE `https://api.github.com/`,
                 lc_otp_header_name             TYPE string VALUE `X-Github-OTP`,
                 lc_restendpoint_authorizations TYPE string VALUE `/authorizations`.
      DATA: li_rest_client           TYPE REF TO if_rest_client,
            li_http_client           TYPE REF TO if_http_client,
            lv_http_code             TYPE i,
            lv_http_code_description TYPE string,
            li_request_entity        TYPE REF TO if_rest_entity,
            li_response_entity       TYPE REF TO if_rest_entity,
            lv_binary_response       TYPE xstring,
            BEGIN OF ls_success_response,
              token TYPE string,
  
negative.code:           iv_error_text = |Authentication failed: { lv_http_code_description }|.
      ENDIF.
  
  
      " 2. Create an access token which can be used instead of a password
      " https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization
  
      set_access_token_request( ii_request   = li_http_client->request
                                iv_repo_name = parse_repo_from_url( iv_url ) ).
      li_http_client->request->set_header_field( name  = if_http_header_fields_sap=>request_uri
                                                 value = lc_restendpoint_authorizations ).
      li_http_client->request->set_method( if_http_request=>co_request_method_post ).
  
      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(
        IMPORTING
          code   = lv_http_code
          reason = lv_http_code_description
      ).
      IF lv_http_code <> 201.
        RAISE EXCEPTION TYPE lcx_2fa_token_gen_failed
          EXPORTING
            iv_error_text = |Token generation failed: { lv_http_code } { lv_http_code_description }|.
      ENDIF.
  
      rv_access_token = get_token_from_response( li_http_client->response ).
      IF rv_access_token IS INITIAL.
        RAISE EXCEPTION TYPE lcx_2fa_token_gen_failed.
      ENDIF.
  