diff --git a/src/http/zcl_abapgit_proxy_config.clas.abap b/src/http/zcl_abapgit_proxy_config.clas.abap new file mode 100644 index 000000000..c33ba1b83 --- /dev/null +++ b/src/http/zcl_abapgit_proxy_config.clas.abap @@ -0,0 +1,82 @@ +CLASS zcl_abapgit_proxy_config DEFINITION PUBLIC FINAL CREATE PUBLIC. + + PUBLIC SECTION. + METHODS: + constructor, + + get_proxy_url + IMPORTING + iv_repo_url TYPE csequence OPTIONAL + RETURNING + VALUE(rv_proxy_url) TYPE string, + + get_proxy_port + IMPORTING + iv_repo_url TYPE csequence OPTIONAL + RETURNING + VALUE(rv_port) TYPE string, + + get_proxy_authentication + IMPORTING + iv_repo_url TYPE csequence OPTIONAL + RETURNING + VALUE(rv_auth) TYPE abap_bool. + + PRIVATE SECTION. + DATA: mo_settings TYPE REF TO zcl_abapgit_settings, + mi_exit TYPE REF TO zif_abapgit_exit. + +ENDCLASS. + + + +CLASS ZCL_ABAPGIT_PROXY_CONFIG IMPLEMENTATION. + + + METHOD constructor. + + mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). + + mi_exit = zcl_abapgit_exit=>get_instance( ). + + ENDMETHOD. + + + METHOD get_proxy_authentication. + + rv_auth = mo_settings->get_proxy_authentication( ). + + mi_exit->change_proxy_authentication( + EXPORTING + iv_repo_url = iv_repo_url + CHANGING + c_proxy_authentication = rv_auth ). + + ENDMETHOD. + + + METHOD get_proxy_port. + + rv_port = mo_settings->get_proxy_port( ). + + mi_exit->change_proxy_port( + EXPORTING + iv_repo_url = iv_repo_url + CHANGING + c_proxy_port = rv_port ). + + ENDMETHOD. + + + METHOD get_proxy_url. + + rv_proxy_url = mo_settings->get_proxy_url( ). + + mi_exit->change_proxy_url( + EXPORTING + iv_repo_url = iv_repo_url + CHANGING + c_proxy_url = rv_proxy_url ). + + ENDMETHOD. +ENDCLASS. diff --git a/src/http/zcl_abapgit_proxy_config.clas.xml b/src/http/zcl_abapgit_proxy_config.clas.xml new file mode 100644 index 000000000..9c7ee3d74 --- /dev/null +++ b/src/http/zcl_abapgit_proxy_config.clas.xml @@ -0,0 +1,19 @@ + + + + + + ZCL_ABAPGIT_PROXY_CONFIG + 1 + E + Proxy configuration + 2 + 1 + X + X + X + X + + + + diff --git a/src/zabapgit_2fa.prog.abap b/src/zabapgit_2fa.prog.abap index ea7fdc142..27426d5ad 100644 --- a/src/zabapgit_2fa.prog.abap +++ b/src/zabapgit_2fa.prog.abap @@ -448,9 +448,10 @@ CLASS lcl_2fa_github_auth IMPLEMENTATION. METHOD is_2fa_required. DATA: li_client TYPE REF TO if_http_client, - lo_proxy TYPE REF TO lcl_proxy_config. + lo_proxy TYPE REF TO zcl_abapgit_proxy_config. - lo_proxy = lcl_app=>proxy( ). + + CREATE OBJECT lo_proxy. cl_http_client=>create_by_url( EXPORTING diff --git a/src/zabapgit_app.prog.abap b/src/zabapgit_app.prog.abap index 99bbbb0be..b596fa8d8 100644 --- a/src/zabapgit_app.prog.abap +++ b/src/zabapgit_app.prog.abap @@ -4,7 +4,6 @@ CLASS lcl_gui DEFINITION DEFERRED. CLASS lcl_repo_srv DEFINITION DEFERRED. -CLASS lcl_proxy_config DEFINITION DEFERRED. *----------------------------------------------------------------------* * CLASS lcl_app DEFINITION @@ -19,12 +18,8 @@ CLASS lcl_app DEFINITION FINAL. CLASS-METHODS repo_srv RETURNING VALUE(ro_repo_srv) TYPE REF TO lcl_repo_srv. - CLASS-METHODS proxy - RETURNING VALUE(ro_proxy) TYPE REF TO lcl_proxy_config. - PRIVATE SECTION. CLASS-DATA: go_gui TYPE REF TO lcl_gui, - go_repo_srv TYPE REF TO lcl_repo_srv, - go_proxy TYPE REF TO lcl_proxy_config. + go_repo_srv TYPE REF TO lcl_repo_srv. ENDCLASS. "lcl_app diff --git a/src/zabapgit_app_impl.prog.abap b/src/zabapgit_app_impl.prog.abap index 3e63422e4..01e5c8085 100644 --- a/src/zabapgit_app_impl.prog.abap +++ b/src/zabapgit_app_impl.prog.abap @@ -25,11 +25,4 @@ CLASS lcl_app IMPLEMENTATION. ENDMETHOD. "repo_srv - METHOD proxy. - IF go_proxy IS NOT BOUND. - CREATE OBJECT go_proxy. - ENDIF. - ro_proxy = go_proxy. - ENDMETHOD. - ENDCLASS. "lcl_app diff --git a/src/zabapgit_http.prog.abap b/src/zabapgit_http.prog.abap index 47dea20b6..24142a899 100644 --- a/src/zabapgit_http.prog.abap +++ b/src/zabapgit_http.prog.abap @@ -98,10 +98,11 @@ CLASS lcl_http IMPLEMENTATION. DATA: lv_uri TYPE string, lv_scheme TYPE string, li_client TYPE REF TO if_http_client, - lo_proxy_configuration TYPE REF TO lcl_proxy_config, + lo_proxy_configuration TYPE REF TO zcl_abapgit_proxy_config, lv_text TYPE string. - lo_proxy_configuration = lcl_app=>proxy( ). + + CREATE OBJECT lo_proxy_configuration. cl_http_client=>create_by_url( EXPORTING diff --git a/src/zabapgit_proxy.prog.abap b/src/zabapgit_proxy.prog.abap index c03b596d2..1d6f3c0b3 100644 --- a/src/zabapgit_proxy.prog.abap +++ b/src/zabapgit_proxy.prog.abap @@ -2,80 +2,4 @@ *& Include zabapgit_proxy *&---------------------------------------------------------------------* -CLASS lcl_proxy_config DEFINITION CREATE PUBLIC. - - PUBLIC SECTION. - METHODS: - constructor, - - get_proxy_url - IMPORTING - iv_repo_url TYPE csequence OPTIONAL - RETURNING - VALUE(rv_proxy_url) TYPE string, - - get_proxy_port - IMPORTING - iv_repo_url TYPE csequence OPTIONAL - RETURNING - VALUE(rv_port) TYPE string, - - get_proxy_authentication - IMPORTING - iv_repo_url TYPE csequence OPTIONAL - RETURNING - VALUE(rv_auth) TYPE abap_bool. - - PRIVATE SECTION. - DATA: mo_settings TYPE REF TO zcl_abapgit_settings, - mi_exit TYPE REF TO zif_abapgit_exit. - -ENDCLASS. - -CLASS lcl_proxy_config IMPLEMENTATION. - - METHOD constructor. - - mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). - - mi_exit = zcl_abapgit_exit=>get_instance( ). - - ENDMETHOD. - - METHOD get_proxy_url. - - rv_proxy_url = mo_settings->get_proxy_url( ). - - mi_exit->change_proxy_url( - EXPORTING - iv_repo_url = iv_repo_url - CHANGING - c_proxy_url = rv_proxy_url ). - - ENDMETHOD. - - METHOD get_proxy_port. - - rv_port = mo_settings->get_proxy_port( ). - - mi_exit->change_proxy_port( - EXPORTING - iv_repo_url = iv_repo_url - CHANGING - c_proxy_port = rv_port ). - - ENDMETHOD. - - METHOD get_proxy_authentication. - - rv_auth = mo_settings->get_proxy_authentication( ). - - mi_exit->change_proxy_authentication( - EXPORTING - iv_repo_url = iv_repo_url - CHANGING - c_proxy_authentication = rv_auth ). - - ENDMETHOD. - -ENDCLASS. +* todo, include to be deleted