module LibItsHttp_Functions { // LibCommon import from LibCommon_Time all; import from LibCommon_VerdictControl all; import from LibCommon_Sync all; // LibHttp import from LibItsHttp_TypesAndValues all; import from LibItsHttp_Pics all; import from LibItsHttp_TestSystem all; group http_preambles { /** * @desc Setups default configuration * @param p_certificateId The certificate identifier the TA shall use in case of secured IUT */ function f_cfUp( in charstring p_certificateId ) runs on HttpComponent /* TITAN TODO: system HttpTestAdapter */ { map(self:httpPort, system:httpPort); f_connect4SelfOrClientSync(); } // End of function f_cfUp } // End of group http_preambles group http_postambles { /** * @desc Deletes default configuration */ function f_cfDown() runs on HttpComponent /* TITAN TODO: system HttpTestAdapter */ { unmap(self:httpPort, system:httpPort); f_disconnect4SelfOrClientSync(); } // End of function f_cfDown } // End of group http_postambles group http_headers { function f_init_default_headers_list( out HeaderLines p_headers ) { p_headers[0] := { c_header_host, { PICS_HEADER_HOST } }; p_headers[1] := { c_header_content_type, { PICS_HEADER_CONTENT_TYPE } }; p_headers[2] := { c_header_content_length, { "0" } }; p_headers[3] := { c_header_connection, { "keep-alive" } }; p_headers[4] := { c_header_pragma, { "no-cache" } }; p_headers[5] := { c_header_cache_control, { "no-cache" } }; } // End of function f_init_default_headers_list function f_remove_headears_list( in charstring_list p_headers_to_remove, inout HeaderLines p_headers ) { // Sanity checks if (lengthof(p_headers_to_remove) == 0) { return; } else if (lengthof(p_headers) == 0) { return; } for (var integer v_idx := 0; v_idx < lengthof(p_headers_to_remove); v_idx := v_idx + 1) { for (var integer v_jdx := 0; v_jdx < lengthof(p_headers); v_jdx := v_jdx + 1) { if (p_headers[v_jdx].header_name == p_headers_to_remove[v_idx]) { p_headers[v_jdx].header_value := omit; // NOTE Codec won't encode it } } // End of 'for' statement } // End of 'for' statement } // End of function f_init_default_headers_list } // End of group http_headers } // End of module LibItsHttp_Functions