Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 44 additions & 3 deletions index.js
Original file line number Diff line number Diff line change
@@ -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' },
})
}