Skip to content

Commit 45e1d97

Browse files
committed
update for new http class
1 parent cd2ba52 commit 45e1d97

6 files changed

+153
-24
lines changed

src/z2ui5_cl_rfc_connector_handler.clas.abap

+13-9
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,20 @@ CLASS z2ui5_cl_rfc_connector_handler IMPLEMENTATION.
1717
METHOD if_http_extension~handle_request.
1818

1919
"copy this class to the rfc connector client system
20-
2120
DATA(lv_resp) = ``.
2221

23-
"setup the destination here
22+
DATA(ls_req2) = z2ui5_cl_http_handler=>get_request( server = server ).
23+
24+
DATA(ls_config) = VALUE z2ui5_s_http_config( ).
25+
DATA(ls_req) = CORRESPONDING z2ui5_s_http_req( ls_req2 ).
26+
DATA(ls_res) = VALUE z2ui5_s_http_res( ).
27+
2428
CALL FUNCTION 'Z2UI5_FM_RFC_CONECTOR'
25-
DESTINATION 'NONE'
2629
EXPORTING
27-
iv_method = server->request->get_method( )
28-
iv_request = server->request->get_cdata( )
30+
is_req = ls_req
31+
is_config = ls_config
2932
IMPORTING
30-
rv_response = lv_resp
33+
es_res = ls_res
3134
EXCEPTIONS
3235
system_failure = 1
3336
communication_failure = 2
@@ -36,9 +39,10 @@ CLASS z2ui5_cl_rfc_connector_handler IMPLEMENTATION.
3639
ASSERT 1 = 0.
3740
ENDIF.
3841

39-
server->response->set_header_field( name = `cache-control` value = `no-cache` ).
40-
server->response->set_cdata( lv_resp ).
41-
server->response->set_status( code = 200 reason = `success` ).
42+
z2ui5_cl_http_handler=>get_response(
43+
server = server
44+
is_res = CORRESPONDING #( ls_res )
45+
).
4246

4347
ENDMETHOD.
4448

src/z2ui5_fg_rfc_connector.fugr.xml

+9-9
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,31 @@
1414
<SHORT_TEXT>abap2UI5 - rfc connector server</SHORT_TEXT>
1515
<IMPORT>
1616
<RSIMP>
17-
<PARAMETER>IV_METHOD</PARAMETER>
18-
<TYP>STRING</TYP>
17+
<PARAMETER>IS_REQ</PARAMETER>
18+
<TYP>Z2UI5_S_HTTP_REQ</TYP>
1919
</RSIMP>
2020
<RSIMP>
21-
<PARAMETER>IV_REQUEST</PARAMETER>
22-
<TYP>STRING</TYP>
21+
<PARAMETER>IS_CONFIG</PARAMETER>
22+
<TYP>Z2UI5_S_HTTP_CONFIG</TYP>
2323
</RSIMP>
2424
</IMPORT>
2525
<EXPORT>
2626
<RSEXP>
27-
<PARAMETER>RV_RESPONSE</PARAMETER>
28-
<TYP>STRING</TYP>
27+
<PARAMETER>ES_RES</PARAMETER>
28+
<TYP>Z2UI5_S_HTTP_RES</TYP>
2929
</RSEXP>
3030
</EXPORT>
3131
<DOCUMENTATION>
3232
<RSFDO>
33-
<PARAMETER>IV_METHOD</PARAMETER>
33+
<PARAMETER>IS_REQ</PARAMETER>
3434
<KIND>P</KIND>
3535
</RSFDO>
3636
<RSFDO>
37-
<PARAMETER>IV_REQUEST</PARAMETER>
37+
<PARAMETER>IS_CONFIG</PARAMETER>
3838
<KIND>P</KIND>
3939
</RSFDO>
4040
<RSFDO>
41-
<PARAMETER>RV_RESPONSE</PARAMETER>
41+
<PARAMETER>ES_RES</PARAMETER>
4242
<KIND>P</KIND>
4343
</RSFDO>
4444
</DOCUMENTATION>

src/z2ui5_fg_rfc_connector.fugr.z2ui5_fm_rfc_conector.abap

+8-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@ FUNCTION z2ui5_fm_rfc_conector.
22
*"----------------------------------------------------------------------
33
*"*"Local Interface:
44
*" IMPORTING
5-
*" VALUE(IV_METHOD) TYPE STRING
6-
*" VALUE(IV_REQUEST) TYPE STRING
5+
*" VALUE(IS_REQ) TYPE Z2UI5_S_HTTP_REQ
6+
*" VALUE(IS_CONFIG) TYPE Z2UI5_S_HTTP_CONFIG
77
*" EXPORTING
8-
*" VALUE(RV_RESPONSE) TYPE STRING
8+
*" VALUE(ES_RES) TYPE Z2UI5_S_HTTP_RES
99
*"----------------------------------------------------------------------
10-
rv_response = SWITCH #( iv_method
11-
WHEN 'GET' THEN z2ui5_cl_http_handler=>http_get( )
12-
WHEN 'POST' THEN z2ui5_cl_http_handler=>http_post( iv_request ) ).
10+
DATA(ls_res) = z2ui5_cl_http_handler=>_main(
11+
is_config = CORRESPONDING #( is_config )
12+
is_req = CORRESPONDING #( is_req )
13+
).
1314

15+
es_res = CORRESPONDING #( ls_res ).
1416

1517
ENDFUNCTION.

src/z2ui5_s_http_config.tabl.xml

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<DD02V>
6+
<TABNAME>Z2UI5_S_HTTP_CONFIG</TABNAME>
7+
<DDLANGUAGE>E</DDLANGUAGE>
8+
<TABCLASS>INTTAB</TABCLASS>
9+
<DDTEXT>http request</DDTEXT>
10+
<MASTERLANG>E</MASTERLANG>
11+
<EXCLASS>1</EXCLASS>
12+
</DD02V>
13+
<DD03P_TABLE>
14+
<DD03P>
15+
<FIELDNAME>SRC</FIELDNAME>
16+
<ADMINFIELD>0</ADMINFIELD>
17+
<INTTYPE>g</INTTYPE>
18+
<INTLEN>000008</INTLEN>
19+
<DATATYPE>STRG</DATATYPE>
20+
<MASK> STRG</MASK>
21+
</DD03P>
22+
<DD03P>
23+
<FIELDNAME>THEME</FIELDNAME>
24+
<ADMINFIELD>0</ADMINFIELD>
25+
<INTTYPE>g</INTTYPE>
26+
<INTLEN>000008</INTLEN>
27+
<DATATYPE>STRG</DATATYPE>
28+
<MASK> STRG</MASK>
29+
</DD03P>
30+
<DD03P>
31+
<FIELDNAME>CONTENT_SECURITY_POLICY</FIELDNAME>
32+
<ADMINFIELD>0</ADMINFIELD>
33+
<INTTYPE>g</INTTYPE>
34+
<INTLEN>000008</INTLEN>
35+
<DATATYPE>STRG</DATATYPE>
36+
<MASK> STRG</MASK>
37+
</DD03P>
38+
<DD03P>
39+
<FIELDNAME>STYLES_CSS</FIELDNAME>
40+
<ADMINFIELD>0</ADMINFIELD>
41+
<INTTYPE>g</INTTYPE>
42+
<INTLEN>000008</INTLEN>
43+
<DATATYPE>STRG</DATATYPE>
44+
<MASK> STRG</MASK>
45+
</DD03P>
46+
<DD03P>
47+
<FIELDNAME>TITLE</FIELDNAME>
48+
<ADMINFIELD>0</ADMINFIELD>
49+
<INTTYPE>g</INTTYPE>
50+
<INTLEN>000008</INTLEN>
51+
<DATATYPE>STRG</DATATYPE>
52+
<MASK> STRG</MASK>
53+
</DD03P>
54+
<DD03P>
55+
<FIELDNAME>CUSTOM_JS</FIELDNAME>
56+
<ADMINFIELD>0</ADMINFIELD>
57+
<INTTYPE>g</INTTYPE>
58+
<INTLEN>000008</INTLEN>
59+
<DATATYPE>STRG</DATATYPE>
60+
<MASK> STRG</MASK>
61+
</DD03P>
62+
</DD03P_TABLE>
63+
</asx:values>
64+
</asx:abap>
65+
</abapGit>

src/z2ui5_s_http_req.tabl.xml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<DD02V>
6+
<TABNAME>Z2UI5_S_HTTP_REQ</TABNAME>
7+
<DDLANGUAGE>E</DDLANGUAGE>
8+
<TABCLASS>INTTAB</TABCLASS>
9+
<DDTEXT>http request</DDTEXT>
10+
<MASTERLANG>E</MASTERLANG>
11+
<EXCLASS>1</EXCLASS>
12+
</DD02V>
13+
<DD03P_TABLE>
14+
<DD03P>
15+
<FIELDNAME>METHOD</FIELDNAME>
16+
<ADMINFIELD>0</ADMINFIELD>
17+
<INTTYPE>g</INTTYPE>
18+
<INTLEN>000008</INTLEN>
19+
<DATATYPE>STRG</DATATYPE>
20+
<MASK> STRG</MASK>
21+
</DD03P>
22+
<DD03P>
23+
<FIELDNAME>BODY</FIELDNAME>
24+
<ADMINFIELD>0</ADMINFIELD>
25+
<INTTYPE>g</INTTYPE>
26+
<INTLEN>000008</INTLEN>
27+
<DATATYPE>STRG</DATATYPE>
28+
<MASK> STRG</MASK>
29+
</DD03P>
30+
</DD03P_TABLE>
31+
</asx:values>
32+
</asx:abap>
33+
</abapGit>

src/z2ui5_s_http_res.tabl.xml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<DD02V>
6+
<TABNAME>Z2UI5_S_HTTP_RES</TABNAME>
7+
<DDLANGUAGE>E</DDLANGUAGE>
8+
<TABCLASS>INTTAB</TABCLASS>
9+
<DDTEXT>http request</DDTEXT>
10+
<MASTERLANG>E</MASTERLANG>
11+
<EXCLASS>1</EXCLASS>
12+
</DD02V>
13+
<DD03P_TABLE>
14+
<DD03P>
15+
<FIELDNAME>BODY</FIELDNAME>
16+
<ADMINFIELD>0</ADMINFIELD>
17+
<INTTYPE>g</INTTYPE>
18+
<INTLEN>000008</INTLEN>
19+
<DATATYPE>STRG</DATATYPE>
20+
<MASK> STRG</MASK>
21+
</DD03P>
22+
</DD03P_TABLE>
23+
</asx:values>
24+
</asx:abap>
25+
</abapGit>

0 commit comments

Comments
 (0)