Aws

Lambda@Edge QueryString 변경

wngnl-dev 2024. 8. 24. 21:06

viewer requests

// index.mjs (ES Module)
export const handler = async (event, context, callback) => {
    
    var request = event.Records[0].cf.request;
    
    console.log("Original request:", JSON.stringify(request, null, 2));

    // querystring 파싱
    let querystring = request.querystring;
    let params = new URLSearchParams(querystring);

    // 'hello'가 있으면 'id'로 변경
    if (params.has('hello')) {
        let helloValue = params.get('hello');
        params.delete('hello');
        params.set('id', helloValue);
    }

    // 수정된 querystring을 다시 설정
    request.querystring = params.toString();

    console.log("Modified request:", JSON.stringify(request, null, 2));

    // callback을 사용하여 응답 반환
    callback(null, request);

};