How to send authorization via a variable

I have authTemplate variable. I send this variable as params.

let authTemplate = {headers:{
                                        "Authorization": temp.requests[i].header[0].authorization,
                                        'Content-Type': temp.requests[i].header[1].content,
                                }};
    let requests = {
        "request":{
            method:GetType,
            url: urlTemplate,
            body:body_b,
            params:authTemplate
        }
    }

Right now, i want to send authorization via a variable, but when i betray it takes the name of the variable and not the value.

var header_tags = temp.requests[0].header_tag[0];
        var header_tag = temp.requests[0].header_tag[1];
        var authTemplate = {headers:{
        header_tags:temp.requests[0].header[0],
        header_tag:temp.requests[0].header[1],	}}

image

Hi @Sati,
you need to wrap the key in []
as in

import http from "k6/http";

export default function() {
    var s = "Authorization"
    let authTemplate =  { headers: {
        [s]: "something",
    }};
    let requests = {
        "request":{
            method:"GET",
            url:"https://httpbin.test.k6.io/get",
            params: authTemplate,
        }
    }

    var res = http.batch(requests);
    console.log(res.request.body);
}

relevant stackoverflow answer

1 Like