diff --git a/index.js b/index.js index 5650a22..d23c18e 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,52 @@ +/* Full-Stack development internship application code: + Submitted by Shruti Jagadeesh Bhat, Santa Clara University.(shrutijbhat@gmail.com) +*/ + +const route = [1,2]; +const baseURL = 'https://cfw-takehome.developers.workers.dev/variants/'; + addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) + /** * Respond with hello worker text * @param {Request} request */ -async function handleRequest(request) { - return new Response('Hello worker!', { - headers: { 'content-type': 'text/plain' }, + +// event handler +async function handleRequest() { + // request the main link for JSON data using fetch(), store it in a variable + let request = new URL("https://cfw-takehome.developers.workers.dev/api/variants"); + let response = await fetch(request); + let data = await response.json(); + + //convert the JSON data into string + let jsonString = JSON.stringify(data); + + // Array containing the JSON objects + let urlArray = JSON.stringify(data.variants); + + //from the array from JSON, append the API route to the base url + let url1 = baseURL+route[0]; + let url2 = baseURL+route[1]; + + //random nummber generator + let rand = Math.random(); + console.log("Random value: "+rand); + + if(rand>0.5){ + url = url1; // variant1 + } + else{ + url = url2; // variant2 + } + + const variantResponse = await fetch(url); + const variantData = await variantResponse.text(); + + // display the final screen from randonly chosen route + return new Response((variantData), { + headers: { 'content-type': 'text/html;charset=UTF-8' }, }) } diff --git a/wrangler.toml b/wrangler.toml index 39c48da..edf655f 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,6 +1,6 @@ -name = "{{project-name}}" +name = "shruti_intern_application_project" type = "javascript" -account_id = "" +account_id = "93c8bd2e08cfcac5e584266d23bb454f" workers_dev = true route = "" zone_id = ""