anchor.diff:    METHOD acquire_login_details.
   
       DATA: lv_default_user TYPE string,
  -          lv_scheme       TYPE string,
             lv_user         TYPE string,
  -          lv_pass         TYPE string.
  +          lv_pass         TYPE string,
  +          lo_digest       TYPE REF TO lcl_http_digest.
   
   
       lv_default_user = lcl_app=>user( )->get_repo_username( iv_url ).
  
positive.code:     mi_client->request->set_header_field(
          name  = 'Accept'
          value = lv_value ).                                 "#EC NOTEXT
  
    ENDMETHOD.                    "set_headers
  
  
negative.code: 
  ENDCLASS.
  
  CLASS lcl_http_digest IMPLEMENTATION.
  
    METHOD constructor.
  
      parse( ii_client ).
  
      mv_ha1 = md5( |{ iv_username }:{ mv_realm }:{ iv_password }| ).
  
      mv_username = iv_username.
  
    ENDMETHOD.
  
    METHOD hash.
  
      DATA: lv_ha2 TYPE string.
  
  
      lv_ha2 = md5( |{ iv_method }:{ iv_uri }| ).
  
      ASSERT NOT iv_cnonse IS INITIAL.
  
      rv_response = md5( |{ mv_ha1 }:{ iv_nonce }:{ gv_nc }:{ iv_cnonse }:{ iv_qop }:{ lv_ha2 }| ).
  
    ENDMETHOD.
  
    METHOD run.
  
      DATA: lv_value    TYPE string,
            lv_response TYPE string,
            lv_method   TYPE string,
            lv_cnonce   TYPE string,
            lv_uri      TYPE string,
            lv_auth     TYPE string.
  
  
      ASSERT NOT mv_nonce IS INITIAL.
  
      lv_method = ii_client->request->get_header_field( '~request_method' ).
      lv_uri = ii_client->request->get_header_field( '~request_uri' ).
  
      CALL FUNCTION 'GENERAL_GET_RANDOM_STRING'
  