How to set dynamic value to header.

118 views
Skip to first unread message

Tracy Zhao

unread,
Sep 6, 2017, 1:34:52 AM9/6/17
to Gatling User Group
HI guys:

I have one question about set dynamic vlaue to header. 
request_6 get dynamic value and saveAs("csrf_token"). and request_7 will use headers_4, "X-CSRF-TOKEN" of headers_4 will be replaced with {"csrf_token"}

var headers_4 = Map(
"Content-Type" -> "application/x-www-form-urlencoded; charset=UTF-8",
"X-CSRF-TOKEN" -> "7e0dce98-9832-4567-8b32-109c5ae88219",
"X-Requested-With" -> "XMLHttpRequest")


.exec(http("request_6")
.get("/users/list")
.headers(headers_0)
.check(regex("var everbridgeCSRF_TOKEN = ([^;]*)").saveAs("csrf_token"))
)
.exec(session =>{
 println("*************************************")
 println(session("csrf_token").as[String])
session
})
.exec(http("request_7")
.post(uri1 + "/users")
.headers(headers_4)
                        .header("X-CSRF-TOKEN", "${csrf_token}") // codes in this line can not work.
.formParam("_search", "false")
.formParam("nd", "1504580184806")
.formParam("size", "25")
.formParam("page", "1")
.formParam("sidx", "lastname")
.formParam("sord", "asc")
.formParam("filterRules", "")
.formParam("firstName", "tracy")
.formParam("lastName", ""))

thanks,
Tracy

Tracy Zhao

unread,
Sep 6, 2017, 2:23:41 AM9/6/17
to Gatling User Group


On Wednesday, September 6, 2017 at 1:34:52 PM UTC+8, Tracy Zhao wrote:
HI guys:

I have one question about set dynamic vlaue to header. 
request_6 get dynamic value and saveAs("csrf_token"). and request_7 will use headers_4, "X-CSRF-TOKEN" of headers_4 will be replaced with {"csrf_token"}

var headers_4 = Map(
"Content-Type" -> "application/x-www-form-urlencoded; charset=UTF-8",
"X-CSRF-TOKEN" -> "7e0dce98-9832-4567-8b32-109c5ae88219",
"X-Requested-With" -> "XMLHttpRequest")


.exec(http("request_6")
.get("/users/list")
.headers(headers_0)
.check(regex("var everbridgeCSRF_TOKEN = ([^;]*)").saveAs("csrf_token"))
)
.exec(session =>{
 println("*************************************")
 println(session("csrf_token").as[String])
session
})
.exec(http("request_7")
.post(uri1 + "/users")
.headers(headers_4)
                        .header("X-CSRF-TOKEN", session => session("csrf_token").validate[String]) // codes in this line can not work.

Tracy Zhao

unread,
Sep 7, 2017, 10:17:43 PM9/7/17
to Gatling User Group


On Wednesday, September 6, 2017 at 1:34:52 PM UTC+8, Tracy Zhao wrote:

kasich...@gmail.com

unread,
Sep 19, 2017, 1:13:46 AM9/19/17
to Gatling User Group
Can somebody help here, how you can use a variable in the Header? Is that possible, i tried different solutions, but only got it to work inside the body.

vivekana...@avekshaa.com

unread,
Sep 20, 2017, 4:54:25 AM9/20/17
to Gatling User Group
var headers_4 = Map(
"Content-Type" -> "application/x-www-form-urlencoded; charset=UTF-8",
// "X-CSRF-TOKEN" -> "7e0dce98-9832-4567-8b32-109c5ae88219",       Comment This line
"X-Requested-With" -> "XMLHttpRequest")


.exec(http("request_6")
.get("/users/list")
.headers(headers_0)
.check(regex("var everbridgeCSRF_TOKEN = ([^;]*)").saveAs("csrf_token"))
)
.exec(session =>{
  println("*************************************")
  println(session("csrf_token").as[String])
 session
})
.exec(http("request_7")
.post(uri1 + "/users")
.headers(headers_4)
                        .header("X-CSRF-TOKEN", "${csrf_token}") // codes in this line can not work.
.formParam("_search", "false")
.formParam("nd", "1504580184806")
.formParam("size", "25")
.formParam("page", "1")
.formParam("sidx", "lastname")
.formParam("sord", "asc")
.formParam("filterRules", "")
.formParam("firstName", "tracy")
.formParam("lastName", ""))

Reply all
Reply to author
Forward
0 new messages