From 0b067d2f6242c25d4345ddc38646a31692e200ea Mon Sep 17 00:00:00 2001 From: shr1611 <22933354+shr1611@users.noreply.github.com> Date: Tue, 28 Apr 2020 12:46:34 -0700 Subject: [PATCH] Update index.js --- index.js | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 5650a22..d8e1ba6 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,53 @@ +/* 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' }, }) } +