@@ -40,9 +40,10 @@ SELECTION-SCREEN SKIP.
40
40
SELECTION-SCREEN BEGIN OF BLOCK sc_serv WITH FRAME TITLE sc_titl2.
41
41
PARAMETERS :
42
42
p_url1 TYPE string LOWER CASE DEFAULT 'https://github.com' OBLIGATORY ,
43
- p_url2 TYPE string LOWER CASE DEFAULT 'https://api.github.com' ,
44
- p_id TYPE strustssl-applic DEFAULT 'ANONYM' OBLIGATORY .
45
43
* api.github.com is used when pushing code back to github
44
+ p_url2 TYPE string LOWER CASE DEFAULT 'https://api.github.com' ,
45
+ p_id TYPE strustssl-applic DEFAULT 'ANONYM' OBLIGATORY ,
46
+ p_http TYPE i DEFAULT if_http_request=>co_protocol_version_1_1 OBLIGATORY AS LISTBOX VISIBLE LENGTH 30 .
46
47
SELECTION-SCREEN END OF BLOCK sc_serv.
47
48
48
49
SELECTION-SCREEN SKIP .
@@ -70,6 +71,9 @@ CLASS lcl_report DEFINITION.
70
71
RETURNING
71
72
VALUE (rv_url ) TYPE string .
72
73
74
+
75
+ METHODS http_protocol_list_box.
76
+
73
77
PRIVATE SECTION .
74
78
75
79
TYPES :
@@ -111,12 +115,10 @@ CLASS lcl_report IMPLEMENTATION.
111
115
METHOD run .
112
116
113
117
DATA :
114
- lv_code TYPE i ,
115
- lv_url TYPE string ,
116
- li_http_client TYPE REF TO if_http_client,
117
- lv_error_message TYPE string ,
118
- lv_reason TYPE string ,
119
- lv_response TYPE string .
118
+ lv_code TYPE i ,
119
+ li_http_client TYPE REF TO if_http_client,
120
+ lv_reason TYPE string ,
121
+ lv_response TYPE string .
120
122
121
123
IF iv_url IS INITIAL .
122
124
RETURN .
@@ -148,6 +150,8 @@ CLASS lcl_report IMPLEMENTATION.
148
150
password = p_ppwd ).
149
151
ENDIF .
150
152
153
+ li_http_client->request->set_version( p_http ).
154
+
151
155
li_http_client->send( ).
152
156
153
157
li_http_client->receive(
@@ -159,7 +163,7 @@ CLASS lcl_report IMPLEMENTATION.
159
163
160
164
IF sy -subrc <> 0 .
161
165
display_error( 'HTTP Client Receive' ).
162
-
166
+
163
167
li_http_client->get_last_error(
164
168
IMPORTING
165
169
message = lv_response ).
@@ -308,6 +312,32 @@ CLASS lcl_report IMPLEMENTATION.
308
312
309
313
ENDMETHOD .
310
314
315
+
316
+ METHOD http_protocol_list_box .
317
+
318
+ DATA :
319
+ lt_values TYPE vrm_values,
320
+ ls_value LIKE LINE OF lt_values.
321
+
322
+ ls_value-key = if_http_request=>co_protocol_version_1_0.
323
+ ls_value-text = 'HTTP/1.0' .
324
+ APPEND ls_value TO lt_values.
325
+
326
+ ls_value-key = if_http_request=>co_protocol_version_1_1.
327
+ ls_value-text = 'HTTP/1.1' .
328
+ APPEND ls_value TO lt_values.
329
+
330
+ CALL FUNCTION 'VRM_SET_VALUES'
331
+ EXPORTING
332
+ id = 'P_HTTP'
333
+ values = lt_values
334
+ EXCEPTIONS
335
+ id_illegavrm_id = 1
336
+ OTHERS = 2 .
337
+ ASSERT sy -subrc = 0 .
338
+
339
+ ENDMETHOD .
340
+
311
341
ENDCLASS .
312
342
313
343
DATA go_report TYPE REF TO lcl_report.
@@ -322,6 +352,7 @@ INITIALIZATION.
322
352
%_p_url1_%_app_%-text = 'URL (Read Access)' .
323
353
%_p_url2_%_app_%-text = 'URL (Write Access)' .
324
354
%_p_id_%_app_%-text = 'SSL Client Identity' .
355
+ %_p_http_%_app_%-text = 'HTTP protocol' .
325
356
sc_titl3 = 'Proxy Settings (Optional)' .
326
357
%_p_proxy_%_app_%-text = 'Hostname/IP' .
327
358
%_p_pport_%_app_%-text = 'Port' .
@@ -345,6 +376,8 @@ AT SELECTION-SCREEN OUTPUT.
345
376
ENDIF .
346
377
ENDLOOP .
347
378
379
+ go_report->http_protocol_list_box( ).
380
+
348
381
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_url1.
349
382
p_url1 = go_report->f4_url( ).
350
383
0 commit comments