mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
user exit for overriding host #848
This commit is contained in:
parent
b462b3de68
commit
72dfb59a01
|
@ -48,6 +48,7 @@ INCLUDE zabapgit_sap_package.
|
|||
INCLUDE zabapgit_folder_logic.
|
||||
INCLUDE zabapgit_requirements.
|
||||
INCLUDE zabapgit_authorizations.
|
||||
INCLUDE zabapgit_exit.
|
||||
|
||||
INCLUDE zabapgit_stage.
|
||||
INCLUDE zabapgit_git_helpers.
|
||||
|
|
|
@ -33,6 +33,8 @@ INTERFACE lif_defs.
|
|||
|
||||
TYPES: ty_string_tt TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
|
||||
|
||||
TYPES: ty_icm_sinfo2_tt TYPE STANDARD TABLE OF icm_sinfo2 WITH DEFAULT KEY.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_git_user,
|
||||
name TYPE string,
|
||||
|
|
45
src/zabapgit_exit.prog.abap
Normal file
45
src/zabapgit_exit.prog.abap
Normal file
|
@ -0,0 +1,45 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_USER_EXITS
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
INTERFACE lif_exit.
|
||||
|
||||
METHODS:
|
||||
change_local_host
|
||||
CHANGING ct_hosts TYPE lif_defs=>ty_icm_sinfo2_tt.
|
||||
|
||||
ENDINTERFACE.
|
||||
|
||||
* add class LCL_USER_EXIT implementing LIF_EXIT in following include,
|
||||
* place the include in a different package than ZABAPGIT
|
||||
INCLUDE zabapgit_user_exit IF FOUND.
|
||||
|
||||
*******************
|
||||
|
||||
CLASS lcl_exit DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: get_instance RETURNING VALUE(ri_exit) TYPE REF TO lif_exit.
|
||||
|
||||
INTERFACES: lif_exit.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_exit IMPLEMENTATION.
|
||||
|
||||
METHOD get_instance.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT ri_exit TYPE ('LCL_USER_EXIT').
|
||||
CATCH cx_sy_create_object_error.
|
||||
CREATE OBJECT ri_exit TYPE lcl_exit.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_exit~change_local_host.
|
||||
* default behavior
|
||||
RETURN.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
22
src/zabapgit_exit.prog.xml
Normal file
22
src/zabapgit_exit.prog.xml
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<PROGDIR>
|
||||
<NAME>ZABAPGIT_EXIT</NAME>
|
||||
<STATE>A</STATE>
|
||||
<VARCL>X</VARCL>
|
||||
<SUBC>I</SUBC>
|
||||
<RLOAD>E</RLOAD>
|
||||
<UCCHECK>X</UCCHECK>
|
||||
</PROGDIR>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>R</ID>
|
||||
<ENTRY>Include ZABAPGIT_USER_EXITS</ENTRY>
|
||||
<LENGTH>27</LENGTH>
|
||||
</item>
|
||||
</TPOOL>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -501,7 +501,7 @@ CLASS lcl_http IMPLEMENTATION.
|
|||
METHOD is_local_system.
|
||||
|
||||
DATA: lv_host TYPE string,
|
||||
lt_list TYPE STANDARD TABLE OF icm_sinfo2 WITH DEFAULT KEY.
|
||||
lt_list TYPE lif_defs=>ty_icm_sinfo2_tt.
|
||||
|
||||
|
||||
CALL FUNCTION 'ICM_GET_INFO2'
|
||||
|
@ -516,6 +516,8 @@ CLASS lcl_http IMPLEMENTATION.
|
|||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
lcl_exit=>get_instance( )->change_local_host( CHANGING ct_hosts = lt_list ).
|
||||
|
||||
FIND REGEX 'https?://([^/^:]*)' IN iv_url
|
||||
SUBMATCHES lv_host.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user