1import fetchWithCache from "./fetchWithCache.ts";
2
3export type WEATHER_FORECAST = {
39
40 // Cache for 30 minutes
41 const data: WEATHER_FORECAST = await fetchWithCache(apiUrl, cacheKey, 30).then((res) => res.json());
42 return new Response(JSON.stringify(data), {
43 headers: {
1import fetchWithCache from "./fetchWithCache.ts";
2
3const GUARDIAN_API_KEY = Deno.env.get("GUARDIAN_API_KEY");
25 const cacheKey = `guardian_headlines_${size}`;
26
27 const data = await fetchWithCache(apiUrl, cacheKey).then((res) => res.json());
28 return new Response(JSON.stringify(data), {
29 headers: {
46 <h3 class="text-xl pb-2">Example frame previews</h3>
47 <p>
48 Frames data is fetched, cached, and displayed with val.town, then fetched and rendered on an e-ink
49 display.
50 </p>
32 ))
33 )
34 : <div className="text-2xl mt-2.5">Unable to fetch data</div>}
35 </ul>
36 </Content>
1import fetchWithCache from "./fetchWithCache.ts";
2
3export type HEMOLOG_TREATMENT = {
22 const cacheKey = "hemolog-recent-treatments";
23
24 const data: HEMOLOG_TREATMENT[] = await fetchWithCache(apiUrl, cacheKey).then((res) => res.json());
25 return new Response(JSON.stringify(data), {
26 headers: {
16
17 try {
18 const response = await fetch(generateUrl);
19 if (!response.ok) {
20 throw new Error(`APIFlash responded with status: ${response.status}`);
6};
7
8export default async function fetchWithCache(
9 apiUrl: string,
10 cacheKey: string,
37 }
38
39 // Fetch new data if no valid cache exists
40 const response = await fetch(apiUrl);
41 if (!response.ok) {
42 throw new Error(`API responded with status: ${response.status}`);
64 });
65 } catch (error) {
66 console.error("Error fetching data:", error);
67 return new Response(JSON.stringify({ error: "Failed to fetch data" }), {
68 status: 500,
69 headers: { "Content-Type": "application/json" },
1import fetchWithCache from "./fetchWithCache.ts";
2
3export type APOD = {
18 const cacheMinutes = 60;
19
20 const data: APOD = await fetchWithCache(url, cacheKey, cacheMinutes).then((res) => res.json());
21
22 if (!data) {
1import { AwsClient } from "npm:aws4fetch";
2
3const aws = new AwsClient({
22 }
23
24 const result = await await aws.fetch(
25 `https://bedrock-agent-runtime.us-east-2.amazonaws.com/knowledgebases/${knowledgeBaseId}/retrieve`,
26 {
56
57export default async function(req: Request): Promise<Response> {
58 return app.fetch(req);
59}