diff --git a/src/App.js b/src/App.js index 19a2677..62d4026 100644 --- a/src/App.js +++ b/src/App.js @@ -10,6 +10,7 @@ import SlackCard from './components/SlackCard' import NpmCard from './components/NpmCard' import JsOrgCard from './components/JsOrgCard' import PypiCard from './components/PypiCard' +import S3Card from './components/S3Card' import './App.css' const GlobalStyle = createGlobalStyle` @@ -53,6 +54,7 @@ export default function App() { + ) : null} diff --git a/src/components/S3Card.js b/src/components/S3Card.js new file mode 100644 index 0000000..8bca316 --- /dev/null +++ b/src/components/S3Card.js @@ -0,0 +1,18 @@ +import React from 'react' +import { Card, CardTitle, DedicatedAvailability } from './Card' +import { FaAws } from 'react-icons/fa' + +export default function S3Card({ name }) { + return ( + + AWS S3 + } + /> + + ) +} diff --git a/src/services/s3.js b/src/services/s3.js new file mode 100644 index 0000000..5db8534 --- /dev/null +++ b/src/services/s3.js @@ -0,0 +1,23 @@ +const fetch = require('isomorphic-unfetch') + +async function getAvailability(name) { + const response = await fetch( + `https://${encodeURIComponent(name)}.s3.amazonaws.com` + ) + return response.status !== 200 +} + +module.exports = async (req, res) => { + const name = req.query.name + + if (!name) { + return res.status(400).json({ error: 'no query given' }) + } + + try { + const availability = await getAvailability(name) + res.json({ availability }) + } catch (err) { + res.status(400).json({ error: err.message }) + } +}