Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
MEC TTCN-3 Test Suite
Commits
cd1ad821
Commit
cd1ad821
authored
Sep 27, 2019
by
YannGarcia
Browse files
Add support of getting time UTC, Start enhancement of RNIS
parent
65f0d13f
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1282 additions
and
1127 deletions
+1282
-1127
ccsrc/externals/LibMec_ExternalFunctions.cc
ccsrc/externals/LibMec_ExternalFunctions.cc
+38
-0
etc/AtsMec/AtsMec.cfg
etc/AtsMec/AtsMec.cfg
+2
-0
ttcn/AtsMec/AtsMec_Ams_TestCases.ttcn
ttcn/AtsMec/AtsMec_Ams_TestCases.ttcn
+1004
-1001
ttcn/AtsMec/AtsMec_BwManagementAPI_TestCases.ttcn
ttcn/AtsMec/AtsMec_BwManagementAPI_TestCases.ttcn
+1
-1
ttcn/AtsMec/AtsMec_MeoPkgm_TestCases.ttcn
ttcn/AtsMec/AtsMec_MeoPkgm_TestCases.ttcn
+1
-1
ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
ttcn/AtsMec/AtsMec_RnisAPI_TestCases.ttcn
+58
-0
ttcn/LibIts
ttcn/LibIts
+1
-1
ttcn/LibMec/AppLCM/ttcn/AppLCM_Templates.ttcn
ttcn/LibMec/AppLCM/ttcn/AppLCM_Templates.ttcn
+1
-1
ttcn/LibMec/AppLCM/ttcn/AppLCM_TypesAndValues.ttcn
ttcn/LibMec/AppLCM/ttcn/AppLCM_TypesAndValues.ttcn
+4
-4
ttcn/LibMec/MeoPkgm/ttcn/MeoPkgm_Templates.ttcn
ttcn/LibMec/MeoPkgm/ttcn/MeoPkgm_Templates.ttcn
+1
-1
ttcn/LibMec/MepmPkgm/ttcn/MepmPkgm_Templates.ttcn
ttcn/LibMec/MepmPkgm/ttcn/MepmPkgm_Templates.ttcn
+3
-4
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
+20
-0
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
+105
-108
ttcn/LibMec/ttcn/LibMec_Functions.ttcn
ttcn/LibMec/ttcn/LibMec_Functions.ttcn
+26
-1
ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
ttcn/patch_lib_http/LibItsHttp_JsonMessageBodyTypes.ttcn
+5
-4
ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
ttcn/patch_lib_http/LibItsHttp_JsonTemplates.ttcn
+12
-0
No files found.
ccsrc/externals/LibMec_ExternalFunctions.cc
0 → 100644
View file @
cd1ad821
#include "LibMec_Functions.hh"
#include <math.h>
#include "base_time.hh"
#include "loggers.hh"
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
#define earthRadius 6378137.0L
#define rbis = ((double)(earthRadius * M_PI / 180))
namespace
LibMec__Functions
{
/**
* @desc This external function gets the current time
* @return Timestamp - current time since 01/01/2004 in milliseconds
* @see fx_getCurrentTime() return TimestampIts
*/
INTEGER
fx__getCurrentTime
(
)
{
INTEGER
i
;
i
.
set_long_long_val
(
base_time
::
get_instance
().
get_its_current_time_ms
());
loggers
::
get_instance
().
log_msg
(
"<<< fx__getCurrentTime: "
,
i
);
return
i
;
}
/**
* @desc This external function gets the current time since 01/01/1970 in UTC format
* @return The current time since 01/01/1970 in UTC format
* @see fx_getCurrentTimeUtc() return UInt64
*/
INTEGER
fx__get__current__time__utc
()
{
INTEGER
i
;
i
.
set_long_long_val
(
base_time
::
get_instance
().
get_current_time_ms
());
return
i
;
}
}
// end of Namespace
etc/AtsMec/AtsMec.cfg
View file @
cd1ad821
...
@@ -13,6 +13,8 @@ LibCommon_Sync.PX_TSHUT_DOWN_TIME_LIMIT := 30.0;
...
@@ -13,6 +13,8 @@ LibCommon_Sync.PX_TSHUT_DOWN_TIME_LIMIT := 30.0;
LibItsHttp_Pics.PICS_HEADER_HOST := "192.168.1.34"
LibItsHttp_Pics.PICS_HEADER_HOST := "192.168.1.34"
LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"
LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"
LibItsHttp_Pics.PICS_USE_TOKEN_HEADER := true
#LibItsHttp_Pics.PICS_TOKEN_HEADER := "Basic WrongToken"
LibMec_Pics.PICS_MEC_PLAT := true
LibMec_Pics.PICS_MEC_PLAT := true
LibMec_Pics.PICS_SERVICES := true
LibMec_Pics.PICS_SERVICES := true
...
...
ttcn/AtsMec/AtsMec_Ams_TestCases.ttcn
View file @
cd1ad821
...
@@ -9,138 +9,620 @@
...
@@ -9,138 +9,620 @@
* All rights reserved.
* All rights reserved.
* @see ETSI GS MEC 003, Draft ETSI GS MEC 013 V2.0.3 (2018-10)
* @see ETSI GS MEC 003, Draft ETSI GS MEC 013 V2.0.3 (2018-10)
*/
*/
module
AtsMec_Ams_TestCases
{
module
AtsMec_Ams_TestCases
{
// Libcommon
// Libcommon
import
from
LibCommon_Sync
all
;
import
from
LibCommon_BasicTypesAndValues
all
;
import
from
LibCommon_Sync
all
;
// LibHttp
import
from
LibItsHttp_TypesAndValues
all
;
// LibHttp
import
from
LibItsHttp_Functions
all
;
import
from
LibItsHttp_TypesAndValues
all
;
import
from
LibItsHttp_Templates
all
;
import
from
LibItsHttp_Functions
all
;
import
from
LibItsHttp_JsonTemplates
all
;
import
from
LibItsHttp_Templates
all
;
import
from
LibItsHttp_TestSystem
all
;
import
from
LibItsHttp_JsonTemplates
all
;
import
from
LibItsHttp_TestSystem
all
;
// LibMec_LocationAPI
import
from
Ams_Templates
all
;
// LibMec_LocationAPI
import
from
Ams_Pics
all
;
import
from
Ams_Templates
all
;
import
from
Ams_Pixits
all
;
import
from
Ams_Pics
all
;
import
from
Ams_Pixits
all
;
// LibMec
import
from
LibMec_Functions
all
;
// LibMec
import
from
LibMec_Pics
all
;
import
from
LibMec_Functions
all
;
import
from
LibMec_Pixits
all
;
import
from
LibMec_Pics
all
;
import
from
LibMec_Pixits
all
;
group
appMobilityServices
{
group
appMobilityServices
{
/**
* @desc Check that the AMS service returns information about the registered application mobility services when requested
/**
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.1
* @desc Check that the AMS service returns information about the registered application mobility services when requested
*/
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.1
testcase
TP_MEC_SRV_AMS_001_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
*/
// Local variables
testcase
TP_MEC_SRV_AMS_001_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
// Local variables
var
HeaderLines
v_headers
;
var
HttpMessage
v_response
;
// Test control
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
,
v_headers
)));
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_ok
(
mw_http_message_body_json
(
mw_body_json_app_mobility_service_info
(
mw_app_mobility_service_info
(
{
mw_app_mobility_registration_info
(
mw_service_consumer_id
(
PX_APP_INS_ID
,
PX_MEP_ID
)
)
}
))))))
->
value
v_response
{
tc_ac
.
stop
;
if
(
f_check_headers
(
valueof
(
v_response
.
response
.
header
))
==
true
)
{
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a AppTerminationNotificationSubscription ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
else
{
log
(
"*** "
&
testcasename
()
&
": FAIL: Header 'Location' was not present in the response headers ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_error
);
}
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_001_OK
/**
* @desc Check that the AMS service returns an error when receives a query about a registered application mobility service with wrong parameters
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.1
*/
testcase
TP_MEC_SRV_AMS_001_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
// Local variables
var
HeaderLines
v_headers
;
// Test control
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
&
"?appMobilityService="
&
oct2char
(
unichar2oct
(
PX_APP_MOBILITY_SERVICE_ID
,
"UTF-8"
)),
v_headers
)));
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_400_bad_request
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
400
))))))
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a ProblemDetails set to 400 Bad Request ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_001_BR
/**
* @desc Check that the AMS service creates a new application mobility services when requested
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.4
*/
testcase
TP_MEC_SRV_AMS_002_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_registration_request
(
m_registration_request
(
m_service_consumer_id
(
PX_APP_INS_ID
,
-
),
-
,
-
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_201_created
(
mw_http_message_body_json
(
mw_body_json_app_mobility_service_info
(
mw_app_mobility_service_info
(
mw_registration_info
(
mw_service_consumer_id
(
PX_APP_INS_ID
,
-
),
-
,
-
),
PX_APP_MOBILITY_SERVICE_ID
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a AppMobilityServiceInfo and status code set to 201 Created ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_002_OK
/**
* @desc Check that the AMS service sends an error when it receives a malformed request to create a new application mobility service
* @see ETSI GS MEC 021 2.0.8, clause 8.3.3.4
*/
testcase
TP_MEC_SRV_AMS_002_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_registration_request
(
m_registration_request_error
(
m_service_consumer_error
(
PX_APP_INS_ID
,
-
)
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_400_bad_request
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
400
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a Problem Details when bad request is performed ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of testcase TP_MEC_SRV_AMS_002_BR
}
// End of group appMobilityServices
group
appMobilityServicesSubscriptions
{
/**
* @desc Check that the AMS service returns information about the available subscriptions when requested.
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.1
*/
testcase
TP_MEC_SRV_AMS_003_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
//@TODO: How can we convert enums in strings?
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"?subscriptionType="
&
int2str
(
enum2int
(
PX_SUBSCRIPTION_TYPE
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_ok
(
mw_http_message_body_json
(
mw_body_json_ams_subscriptions
(
mw_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
-
,
-
,
-
,
-
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with the list of subscriptions type MobilityProcedureSubscription ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// END TP_MEC_SRV_AMS_003_OK
/**
* @desc Check that the AMS service sends an error when it receives a malformed query about the available subscriptions
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.1
*/
testcase
TP_MEC_SRV_AMS_003_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_get
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
&
"?subscriptionTyp="
&
int2str
(
enum2int
(
PX_SUBSCRIPTION_TYPE
)),
v_headers
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_400_bad_request
(
mw_http_message_body_json
(
mw_body_json_ams_problem_details
(
mw_problem_details
(
-
,
-
,
400
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a ProblemDetails set to 400 Bad Request ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// END of TP_MEC_SRV_AMS_003_BR
/**
* @desc Check that the AMS service creates a notification subscriptions when requested.
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.4
*/
testcase
TP_MEC_SRV_AMS_004_OK
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
stop
;
}
// Test component configuration
f_cf_01_http_up
();
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
m_http_request
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_SUBS
,
v_headers
,
m_http_message_body_json
(
m_body_json_ams_subscriptions
(
m_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
PX_CALLBACK_REFERENCE
,
-
,
-
,
-
)
)
)
)
)
);
f_selfOrClientSyncAndVerdict
(
c_prDone
,
e_success
);
// Test Body
tc_ac
.
start
;
alt
{
[]
httpPort
.
receive
(
mw_http_response
(
mw_http_response_201_created
(
mw_http_message_body_json
(
mw_body_json_ams_subscriptions
(
mw_ams_subscription
(
PX_SUBSCRIPTION_TYPE
,
PX_CALLBACK_REFERENCE
,
-
,
-
,
-
)
)
)
)
)
)
{
tc_ac
.
stop
;
log
(
"*** "
&
testcasename
()
&
": PASS: IUT successfully responds with a AMS Subscription and 201 Created status code ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_success
);
}
[]
tc_ac
.
timeout
{
log
(
"*** "
&
testcasename
()
&
": INCONC: Expected message not received ***"
);
f_selfOrClientSyncAndVerdict
(
c_tbDone
,
e_timeout
);
}
}
// End of 'alt' statement
}
// End of TP_MEC_SRV_AMS_004_OK
/**
* @desc Check that the AMS service sends an error when it receives a malformed request to create a notification subscription
* Permitted SUBSCRIPTION_TYPE are:
* - MobilityProcedureSubscription
* - AdjacentAppInfoSubscription
* @see ETSI GS MEC 021 2.0.8, clause 8.6.3.4
*/
testcase
TP_MEC_SRV_AMS_004_BR
()
runs
on
HttpComponent
system
HttpTestAdapter
{
var
HeaderLines
v_headers
;
var
HeaderLines
v_headers
;
var
HttpMessage
v_response
;
// Test control
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
if
(
not
(
PICS_AMS
)
or
not
(
PICS_AMS_API_SUPPORTED
)){
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
log
(
"*** "
&
testcasename
()
&
": PICS_AMS required for executing the TC ***"
);
setverdict
(
inconc
);
setverdict
(
inconc
);
stop
;
stop
;
}
}
// Test component configuration
// Test component configuration
f_cf_01_http_up
();
f_cf_01_http_up
();
// Preamble
// Preamble
f_init_default_headers_list
(
-
,
-
,
v_headers
);
f_init_default_headers_list
(
-
,
-
,
v_headers
);
httpPort
.
send
(
httpPort
.
send
(
m_http_request
(
m_http_request
(
m_http_request_get
(
m_http_request_post
(
"/"
&
PICS_ROOT_API
&
PX_ME_APP_AMS_URI
,