in src/zgoog_cl_content_repo_gcs.clas.abap [0:0]
METHOD parse_uri.
DATA: lo_scms_scan_obj TYPE REF TO cl_scms_virus_scan_info.
DATA: lv_uri TYPE string,
lv_script TYPE string,
lv_rest TYPE string,
lv_path TYPE string,
lv_dummy TYPE string ##NEEDED,
lv_extension TYPE string,
lv_ext1 TYPE string ##NEEDED,
lv_ext2 TYPE string ##NEEDED,
lv_ext3 TYPE string ##NEEDED,
lv_scanperformed1 TYPE string,
lv_index TYPE i,
lv_scanperformed TYPE c LENGTH 1.
DATA: ls_parameter TYPE ltyp_s_parameter,
ls_param TYPE ltyp_s_parameter.
gv_mode = go_server->request->get_header_field( '~REQUEST_METHOD' ).
lv_uri = go_server->request->get_header_field( '~REQUEST_URI' ).
lv_script = go_server->request->get_header_field( '~SCRIPT_NAME' ).
CLEAR: gv_command,
gt_parameters[].
SPLIT lv_uri AT '?' INTO lv_path lv_rest.
SPLIT lv_path AT lv_script INTO lv_dummy lv_extension.
SPLIT lv_extension AT '/' INTO lv_dummy lv_ext1 lv_ext2 lv_ext3.
IF lv_ext1 IS INITIAL.
gv_mandt = sy-mandt.
ELSE.
gv_mandt = lv_ext1.
ENDIF.
ls_parameter-usage = c_parameter_unknown.
SPLIT lv_rest AT '&' INTO gv_command lv_rest.
WHILE lv_rest IS NOT INITIAL.
SPLIT lv_rest AT '&' INTO ls_parameter-name lv_rest.
SPLIT ls_parameter-name AT '='
INTO ls_parameter-name ls_parameter-value.
ls_parameter-name = url_hex_decode( iv_value = ls_parameter-name ).
APPEND ls_parameter TO gt_parameters.
ENDWHILE.
READ TABLE gt_parameters WITH KEY name = 'contRep' INTO ls_parameter. "#EC CI_STDSEQ
IF sy-subrc = 0.
gv_contrep = url_hex_decode( iv_value = ls_parameter-value ).
SELECT SINGLE crep_type FROM crep
INTO gv_crep_type
WHERE crep_id = gv_contrep. "#EC CI_SUBRC
ENDIF.