CLASS z2ui5_cl_http_handler DEFINITION PUBLIC CREATE PROTECTED. PUBLIC SECTION. CLASS-METHODS run IMPORTING server TYPE REF TO object OPTIONAL req TYPE REF TO object OPTIONAL res TYPE REF TO object OPTIONAL config TYPE z2ui5_if_types=>ty_s_http_config OPTIONAL PREFERRED PARAMETER server. CLASS-METHODS factory_cloud IMPORTING req TYPE REF TO object res TYPE REF TO object RETURNING VALUE(result) TYPE REF TO z2ui5_cl_http_handler. CLASS-METHODS factory IMPORTING server TYPE REF TO object OPTIONAL req TYPE REF TO object OPTIONAL res TYPE REF TO object OPTIONAL PREFERRED PARAMETER server RETURNING VALUE(result) TYPE REF TO z2ui5_cl_http_handler. CLASS-METHODS _http_post IMPORTING is_req TYPE z2ui5_if_core_types=>ty_s_http_req RETURNING VALUE(result) TYPE z2ui5_if_core_types=>ty_s_http_res. CLASS-METHODS _http_get IMPORTING VALUE(is_config) TYPE z2ui5_if_types=>ty_s_http_config RETURNING VALUE(result) TYPE string. METHODS main IMPORTING s_config TYPE z2ui5_if_types=>ty_s_http_config OPTIONAL. CLASS-METHODS _main IMPORTING is_config TYPE z2ui5_if_types=>ty_s_http_config is_req TYPE z2ui5_if_core_types=>ty_s_http_req RETURNING VALUE(result) TYPE z2ui5_if_core_types=>ty_s_http_res. CLASS-METHODS get_request IMPORTING server TYPE REF TO object OPTIONAL req TYPE REF TO object OPTIONAL res TYPE REF TO object OPTIONAL PREFERRED PARAMETER server RETURNING VALUE(result) TYPE z2ui5_if_core_types=>ty_s_http_req. CLASS-METHODS get_response IMPORTING server TYPE REF TO object OPTIONAL req TYPE REF TO object OPTIONAL res TYPE REF TO object OPTIONAL is_res TYPE z2ui5_if_core_types=>ty_s_http_res. PROTECTED SECTION. CLASS-DATA so_sticky_handler TYPE REF TO z2ui5_cl_core_handler. DATA mo_server TYPE REF TO z2ui5_cl_abap_api_http. DATA ms_req TYPE z2ui5_if_core_types=>ty_s_http_req. DATA ms_res TYPE z2ui5_if_core_types=>ty_s_http_res. DATA ms_config TYPE z2ui5_if_types=>ty_s_http_config. METHODS set_request. METHODS set_response. PRIVATE SECTION. ENDCLASS. CLASS z2ui5_cl_http_handler IMPLEMENTATION. METHOD main. ms_config = s_config. set_request( ). CASE ms_req-method. WHEN `HEAD`. mo_server->set_session_stateful( 0 ). RETURN. WHEN OTHERS. ms_res = _main( is_req = ms_req is_config = ms_config ). ENDCASE. set_response( ). ENDMETHOD. METHOD factory. result = NEW #( ). IF server IS BOUND. result->mo_server = z2ui5_cl_abap_api_http=>factory( server ). ELSEIF req IS BOUND AND res IS BOUND. result = factory_cloud( req = req res = res ). ELSE. ASSERT 1 = `EMPTY_HTTP_HANDLER_CALL_ERROR`. ENDIF. ENDMETHOD. METHOD factory_cloud. result = NEW #( ). result->mo_server = z2ui5_cl_abap_api_http=>factory_cloud( req = req res = res ). ENDMETHOD. METHOD _http_get. IF is_config-title IS INITIAL. is_config-title = `abap2UI5`. ENDIF. IF is_config-theme IS INITIAL. is_config-theme = `sap_horizon`. ENDIF. IF is_config-src IS INITIAL. is_config-src = `https://sdk.openui5.org/resources/sap-ui-cachebuster/sap-ui-core.js`. * ms_req_config-src = `https://sdk.openui5.org/1.71.67/resources/sap-ui-core.js`. * ms_req_config-src = `https://sdk.openui5.org/nightly/2/resources/sap-ui-core.js`. ENDIF. IF is_config-content_security_policy IS INITIAL. is_config-content_security_policy = ||. ENDIF. IF is_config-styles_css IS INITIAL. DATA(lv_style_css) = z2ui5_cl_app_style_css=>get( ). ELSE. lv_style_css = is_config-styles_css. ENDIF. result = || && |\n| && || && |\n| && |
| && |\n| && |{ is_config-content_security_policy }\n| && | | && |\n| && | | && |\n| && | | && |\n| && |