Bird
Raised Fist0
Denoframework~5 mins

Request and Response objects in Deno - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Request object in Deno's HTTP server?
A Request object represents the incoming HTTP request. It contains details like the URL, method (GET, POST, etc.), headers, and body data sent by the client.
Click to reveal answer
beginner
What does the Response object do in Deno's HTTP server?
The Response object is what the server sends back to the client. It includes the status code (like 200 for success), headers, and the body content (like HTML, JSON, or text).
Click to reveal answer
intermediate
How do you read the body of a Request object in Deno?
You can use async methods like request.text(), request.json(), or request.arrayBuffer() to read the body content depending on its format.
Click to reveal answer
intermediate
How do you create a Response object with JSON data in Deno?
Use new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' } }) to send JSON data with the correct content type.
Click to reveal answer
beginner
Why is it important to set headers in the Response object?
Headers tell the client how to handle the response data, like its type or encoding. Without correct headers, the client might misinterpret the data or fail to display it properly.
Click to reveal answer
Which method reads the JSON body from a Request object in Deno?
Arequest.data()
Brequest.text()
Crequest.body()
Drequest.json()
What status code usually means a successful HTTP response?
A404
B500
C200
D301
How do you specify the content type as JSON in a Response object?
Aheaders: { 'Content-Type': 'application/json' }
Bheaders: { 'Content-Type': 'text/html' }
Cheaders: { 'Accept': 'application/json' }
Dheaders: { 'Content-Type': 'application/xml' }
Which object holds the URL and method of an incoming HTTP request in Deno?
ARequest
BServer
CResponse
DHeaders
What happens if you don't set the correct headers in a Response?
AThe server crashes
BThe client may misinterpret the response data
CThe request is ignored
DThe response is always cached
Explain how you handle an incoming HTTP request and send a JSON response using Request and Response objects in Deno.
Think about reading data from the request and sending back JSON with proper headers.
You got /5 concepts.
    Describe why headers are important in HTTP responses and give an example of setting a header in Deno.
    Headers are like labels on a package telling what is inside.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the Request object represent in a Deno web server?
      easy
      A. The data sent by the server to the user
      B. The server's file system access
      C. The server configuration settings
      D. The data sent by the user to the server

      Solution

      1. Step 1: Understand the role of Request object

        The Request object contains information about what the user sends to the server, such as headers, method, and body.
      2. Step 2: Differentiate from Response object

        The Response object is what the server sends back, so it is not the Request.
      3. Final Answer:

        The data sent by the user to the server -> Option D
      4. Quick Check:

        Request = user data [OK]
      Hint: Request = user input; Response = server output [OK]
      Common Mistakes:
      • Confusing Request with Response
      • Thinking Request holds server settings
      • Assuming Request is server output
      2. Which of the following is the correct way to create a Response object with a JSON body in Deno?
      easy
      A. Response.json(data)
      B. new Response(data, { type: 'json' })
      C. new Response(data, { headers: { 'Content-Type': 'application/json' } })
      D. new Response(data, { contentType: 'application/json' })

      Solution

      1. Step 1: Check how to send JSON in Response

        In Deno, you can create a Response with JSON by stringifying the data and setting the 'Content-Type' header to 'application/json'.
      2. Step 2: Validate options

        new Response(data, { headers: { 'Content-Type': 'application/json' } }) correctly sets the header and passes data (assuming data is stringified). Response.json(data) is invalid because Response.json() is not a standard method in Deno's Response API. Options B and D use incorrect properties.
      3. Final Answer:

        new Response(data, { headers: { 'Content-Type': 'application/json' } }) -> Option C
      4. Quick Check:

        Response with JSON header [OK]
      Hint: Use new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' } }) [OK]
      Common Mistakes:
      • Passing raw object without stringify
      • Using incorrect init properties like 'type' or 'contentType'
      • Assuming Response.json() exists
      3. Given the following Deno server code snippet, what will be the response body when a user sends a GET request?
      const handler = (req) => {
        if (req.method === 'GET') {
          return new Response('Hello World');
        }
        return new Response('Method Not Allowed', { status: 405 });
      };
      medium
      A. "Method Not Allowed"
      B. "Hello World"
      C. Empty response
      D. Error thrown

      Solution

      1. Step 1: Check request method condition

        The code checks if the request method is 'GET'. If yes, it returns 'Hello World'.
      2. Step 2: Determine response for GET request

        Since the user sends a GET request, the first condition matches and returns 'Hello World'.
      3. Final Answer:

        "Hello World" -> Option B
      4. Quick Check:

        GET request returns 'Hello World' [OK]
      Hint: Check req.method to decide response content [OK]
      Common Mistakes:
      • Ignoring method check and picking wrong response
      • Assuming default response is empty
      • Thinking error is thrown on GET
      4. Identify the error in this Deno request handler code:
      const handler = (req) => {
        if (req.method = 'POST') {
          return new Response('Posted');
        }
        return new Response('Not Posted');
      };
      medium
      A. Using assignment (=) instead of comparison (===) in if condition
      B. Missing await keyword before Response
      C. Response body must be JSON, not string
      D. req.method is undefined

      Solution

      1. Step 1: Check the if condition syntax

        The code uses single equals (=) which assigns 'POST' to req.method instead of comparing it.
      2. Step 2: Understand correct comparison operator

        To compare, use '===' or '==' instead of '=' to avoid bugs.
      3. Final Answer:

        Using assignment (=) instead of comparison (===) in if condition -> Option A
      4. Quick Check:

        Use '===' for comparison, not '=' [OK]
      Hint: Use '===' for comparisons, '=' is assignment [OK]
      Common Mistakes:
      • Confusing assignment and comparison operators
      • Thinking Response needs await here
      • Assuming req.method is missing
      5. How can you read JSON data sent in the body of a POST request using the Deno Request object?
      hard
      A. Use await req.json() to parse the JSON body
      B. Use req.body.json() without await
      C. Use JSON.parse(req.body) directly
      D. Use req.getJson() method

      Solution

      1. Step 1: Understand how to parse JSON body in Deno

        The Request object has an async method json() that returns the parsed JSON from the body.
      2. Step 2: Confirm correct usage

        You must await req.json() because it returns a Promise resolving to the parsed object.
      3. Final Answer:

        Use await req.json() to parse the JSON body -> Option A
      4. Quick Check:

        await req.json() parses JSON body correctly [OK]
      Hint: Always await req.json() to get JSON body [OK]
      Common Mistakes:
      • Calling json() without await
      • Trying to parse req.body directly
      • Using non-existent getJson() method
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard