Merge pull request #1194 from larshp/lcl_proxy_config

lcl_proxy_config to global
This commit is contained in:
Lars Hvam 2018-02-11 11:28:33 +01:00 committed by GitHub
commit 6de55d2e03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 109 additions and 94 deletions

View File

@ -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.

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_PROXY_CONFIG</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>Proxy configuration</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSFINAL>X</CLSFINAL>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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