How can I extract the data from the response only if the response content not empty.

Hi,

I am trying to write a http request and capture some information from the response. But in some cases even though http status code is 200, response will be empty (content length is 0). I am trying to figure out how to extract the data using regex, only if the response content is available i.e content length is greater than 0.

Following is my current request.

val execDeviceHB = exec(http(“Device Ping For Policies”)
.put("${tenantname}%sdevicemanager/ota/server".format(context))
.body(StringBody(Session => getIdleReq()))
.check(status.is(200))
.check(header(“Content-Length”).not(“0”))
.check(regex("""([\w]+[:][\d]+)""").saveAs(“devicepolicypush”))
.check(regex("""(\w+):""").saveAs(“commandtype”))

BTW, how do I define the doIfEqualsOrElse condition? Can you please provide an example?

Thanks in advance,
Regards

Dinesh

Easy solution is to just extract the whole body into a session variable, then in the next step do a session function to parse it. Then you have the advantage of full scala capabilities to do logic.

You could use something like follows:
`

.check(regex("""…""").optional.saveAs(“devicepolicypush”))

`

With optional, saveAs doesn’t fail if the response is empty, but if later you want to read the value from the session you’ll need to check if the value is set.

For example

doIfEqualsOrElse(session => session("devicepolicypush").asOption[String].exists(_.trim.nonEmpty)) { // Equals chain } { // Else chain }

Note: I haven’t tried running this code, it is just a suggestion.

I hope that helps.
Carlos

Note that Gatling EL now has a .exists() function, so you could write doIfEqualsOrElse(“devicepolicypush.exists()”)

Nice, wasn’t aware of that one. Thanks Stephane.

For one of my application is sending this response body on login request [ once i login with user id and password] this token i supposed to capture and add to the headers. can any one help me on this?

{“user”:{“userSid”:17,“password”:null,“userLoginId”:“user1”,“userAssociatedId”:“user1”,“firstName”:“john”,“lastName”:“User”,“emailAddress”:“john_user1@*****.com”,“lastLoginDate”:1563272556060,“languageProfileId”:2,“userFunctionGroupId”:10,“userGroupId”:3,

“token”:“eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NjMzMTU3NTUsInVzZXJfbmFtZSI6ImJyYW5kX3VzZXIxIiwiYXV0aG9yaXRpZXMiOlsiVlBTLUVYVEVOU0lPTiIsIlByb2R1Y3Rpb24tQ2hhbmdlIiwiRVJST1ItTE9HIiwiVXBkYXRlLVNoaXBtZW50IiwiQ0hBTkdFLU1HTVQiLCJpbXBvcnRmaWxlIiwiU01TLUZhYnJpYy1MaWJyYXJ5IiwiQ29tbWl0bWVudC1DcmVhdGlvbi1FZGl0IiwiTUFTVEVSLURBVEEiLCJtc3QtdGFzay11cGRhdGUiLCJQUk9ELU1HTVQiLCJRQVMiLCJJTlRFUk5BTC1URVNULVJFUE9SVCIsIlNPVVJDSU5HLVdGIiwiR0lTLVdPUktGTE9XLUUyRS0yIiwiRW1haWwtU3Vic2NyaXB0aW9uIiwiRVhQT1JULURBVEEiLCJDcmVhdGUtTmV3LVN0ZXAiLCJJTlNQRUNUSU9OLU1BTkFHRU1FTlQiLCJXb3JrLWluLVByb2dyZXNzLVRyYWNrZXIiLCJCQVRDSC1UUklHR0VSIiwiVVNFUi1TVUJTQ1JJUFRJT04iLCJSZXZpZXctcmVjZWlwdC1jaGFuZ2VzIiwiQ0hBTkdFX01HTVQiLCJDcmVhdGUtcmVjZWlwdC1jaGFuZ2UtcmVxdWVzdHMiLCJSRVNQT05TSVZFLU1BTkFHRU1FTlQiLCJBRE1JTiIsImdlbmVyYXRlcmVwb3J0IiwiQ2FwYWNpdHktQm9va2luZy1hbmQtUlBUIiwiRVhQT1JULURBVEEtUUEiLCJVdGlsaXphdGlvbj90eXBlPUFwcHJvdmFsIiwiUENMIiwiUXVhbGl0eS1NYW5hZ2VtZW50IiwiU09VUkNJTkdfV0YiLCJHZW5lcmF0ZS1TdW1tYXJ5LVJlcG9ydHMiLCJ1cGRhdGUtZm9yZWNhc3QtdW5pdHMiLCJGYWJyaWMtTWFuYWdlbWVudCIsIkZUIiwiZnQiLCJSZXZpZXctU21yIiwiU0VSVklDRV9SRVFVRVNUIiwibm9taW5hdGUtcmVzcG9uc2l2ZS1wcm9kdWN0cyIsIkVESVRPUiIsIkdJUy1XT1JLRkxPVy1GdXNpb24iLCJDUFQtTElTVCIsIk9USEVSUyIsIkdJUy1XT1JLRkxPVy1FMkUiLCJQcm9kdWN0aW9uL1dJUCBNYW5hZ2VtZW50IiwicHJvbXB0IiwiRVhQT1JULURBVEEtUFJPRCIsIkNyZWF0ZS1OZXciLCJVcGRhdGUtQUQtU2FtcGxlLU1hdHJpeCIsImZ1bGZpbGwtZ2FybWVudC1jb21taXRtZW50IiwiUkVQT1JULVJFVklFVyIsIkNBUEFDSVRZLU1BTkFHRU1FTlQiLCJTTVMiLCJQcm9kdWN0aW9uLVRyYWNraW5nIiwiTUlMTC1WRU5ET1ItTUFTVEVSIiwiUEktVGVzdC1UaGlyZCIsIkdJUy1XT1JLRkxPVy1TVEFUSUMiLCJRdWFsaXR5LWFzc3VyYW5jZS1hbmQtYXVkaXQiLCJFWFBPUlQtTVVMVEktREFUQSIsIlNFQVJDSC1BVURJVCIsInNtcyIsIkluaXRpYXRlLVRPUC1TYW1wbGUtUmVxdWVzdHMiLCJTRUFSQ0gtU0hJUE1FTlQiLCJ0cmFkZXN0b25lIiwicmVzcG9uc2l2ZS1tYW5hZ2VtZW50IiwiUEFTUy1SQVRFIiwiTVNULUlOVEVSRkFDRSIsIkVudGVycHJpc2UiLCJNQU5VRkFDVFVSSU5HLVZFTkRPUi1NQVNURVIiLCJUT09MUyIsIkNQVC1BQ0tOT1dMRURHRSIsIkNQVCIsIkdlbmVyYWwtU2V0dGluZ3MiLCJURVNULVJFUE9SVCIsImNwdCIsIlJldmlldy1Ub3AtU2FtcGxlLVJlcXVlc3RzIiwiU1VQRVJTLVJFUE9SVCIsIkVYUE9SVC1EQVRBLVZJRVciLCJTbXMtQ29uZmlndXJhdGlvbiIsIk1haW50YWluLW1hbnVhbC1jYXRlZ29yeSIsIlJQVCIsIlRFU1QtUkVTVUxULU1BTkFHRU1FTlQiLCJndC1uZXh1cyIsIkNQVC1DUkVBVEUiLCJwbG0iLCJGYWJyaWMtTGlicmFyeSIsIkRFTU8iLCJDT0VfVE9PTFMiLCJDcmVhdGUtdmVuZG9yLWxhdGUtcmVxdWVzdHMiLCJDUkVBVEUiLCJDb25maWd1cmF0aW9uIiwiTUlMTC1GQUNJTElUWS1NQVNURVIiLCJEQVRBVEFCTEUzLURFTU8iLCJGUUFTIiwiUmV2aWV3LU5vbWluYXRpb24iLCJDb21taXRtZW50P3R5cGU9U2VhcmNoIiwiYm9va2luZy1tYW5hZ2VtZW50IiwiTERMLUNoYW5nZXMiLCJCVE0iLCJ1cGRhdGUtb2ZmZXItY2FwYWNpdHkiLCJjYXBhY2l0eS1wbGFubmluZyIsIlBJLVRlc3QtTWlsbCIsIkluaXRpYXRlLUFkLVNhbXBsZS1SZXF1ZXN0cyIsIlJldmlldy12ZW5kb3ItbGF0ZV9yZXF1ZXN0cyIsIlV0aWxpemF0aW9uLUNyZWF0aW9uLUVkaXQiLCJDcmVhdGUtTmV3LVBPIiwiU2FtcGxlLU1hbmFnZW1lbnQiLCJSZWNlaXB0LUNoYW5nZXMiLCJWUFNfRVhURU5TSU9OIiwiVmQiLCJTZWFyY2gtU2hpcG1lbnQiLCJjYXBhY2l0eS1tYW5hZ2VtZW50IiwiVkVORE9SLVJFUE9SVCIsIkZhYnJpYy1UcmFja2VyIiwiT1RSRiIsIkNQVC1JTlBVVCIsIk1JTEwtRkFDSUxJVFktUFJPRklMRSIsImVudGVycHJpc2UiLCJ0b29scyIsIldSSVRFIiwicmVzcG9uc2l2ZS1wbGFubmluZy1tYW5hZ2VtZW50IiwiVXRpbGl6YXRpb24_dHlwZT1TZWFyY2giLCJyZXZpZXctY2FwYWNpdHkiLCJQUk9EX01HTVQiLCJDcmVhdGUtTmV3LUxETCIsIlByb2R1Y3Rpb24tUmVwb3J0aW5nIiwiYm9va2luZyIsImZsYWctb2ZmY3ljbGUtUE8iLCJSZXZpZXctRGV2LVNhbXBsZS1SZXF1ZXN0cyIsIlJlY2VpdmUtU2hpcG1lbnQiLCJjb21taXRtZW50LW1hbmFnZW1lbnQiLCJERVRBSUwiLCJDb21taXRtZW50P3R5cGU9QXBwcm92YWwiLCJUZW1wbGF0ZS1Db25maWciLCJNaWxlc3RvbmUtQ29uZmlnIiwiV0lQIiwic2NtcyIsIlJldmlldy1BRC1TYW1wbGUtUmVxdWVzdHMiLCJCT09LSU5HLU1HTVQiLCJDb21taXRtZW50LU1hbmFnZW1lbnQiLCJHSVMtV09SS0ZMT1ctUUEiXSwianRpIjoiMzM5NjcwNjktN2MzMS00NTRhLTk1MzEtYzlhNjAwNTVhMTlhIiwiY2xpZW50X2lkIjoiZ2F0ZXdheSIsInNjb3BlIjpbInJlYWQiLCJ3cml0ZSJdfQ.aEVJzlkcsR4I3cyKdSuD9rwywMIBjGk5my6MhC-y3bNMqSh4By1Yzyu3vaHScqnOzG5d593Zz07kme3awKi7LlGLlGpDa95hX3GdtCjRUNQmW3hf3vljxbrZXMq1Aj0wR-O0AC6wjQxR9GlwQ6IinI-49pRnuUDzbu5PIeF-7AzYfNYcRvuhHjYcgZ_cx6yAYGNDuJrLW0CHrirR8hSx9bcVuproz0wEcB7P3BUbp5nltteeQrEEx7DrUX_4MhsTEf0_LVJArXuoR5MITt5h7OHgRnYXbAsOMCidJpuNdwLVLpsJuaimmBbme6qmkH2Gh0l9wGXYWHQzNbUvXzFQkQ”,“accessGroupList”:[{“accessGroupSid”:18,“accessGroup”:“SERVICE_REQUEST_EDIT”,“accessGroupDescription”:"SERVICE REQUEST - MST …}