51 lines
2.0 KiB
HTML
51 lines
2.0 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
<title>URL Shortener</title>
|
|
<link
|
|
rel="shortcut icon"
|
|
href="https://cdn.hyperdev.com/us-east-1%3A52a203ff-088b-420f-81be-45bf559d01b1%2Ffavicon.ico"
|
|
type="image/x-icon"
|
|
/>
|
|
<link href="/public/style.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<h2>API Project: URL Shortener Microservice</h2>
|
|
<h3>User Story:</h3>
|
|
<ol>
|
|
<li>
|
|
I can <code>POST</code> a URL to <code>[project_url]/api/shorturl/new</code> and I will receive a shortened URL in the JSON
|
|
response.<br />
|
|
Example: <code>{ "original_url": "www.google.com", "short_url": 1 }</code>
|
|
</li>
|
|
<li>
|
|
If I pass an invalid URL that doesn't follow the <code>http(s)://www.example.com(/more/routes)</code> format,
|
|
the JSON response will contain an error like <code>{ "error": "invalid URL" }</code><br />
|
|
HINT: To be sure that the submitted URL points to a valid site, you can use the function
|
|
<code>dns.lookup(host, cb)</code> from the <code>dns</code> core module.
|
|
</li>
|
|
<li>When I visit the shortened URL, it will redirect me to my original link.</li>
|
|
</ol>
|
|
|
|
<h3>Short URL Creation</h3>
|
|
<p>Example: <code>POST [project_url]/api/shorturl/new</code> - <code>https://www.google.com</code></p>
|
|
<form action="api/shorturl/new" method="POST">
|
|
<label for="url_input">URL to be shortened</label>
|
|
<input id="url_input" type="text" name="url" value="https://www.freecodecamp.org" />
|
|
<input type="submit" value="POST URL" />
|
|
</form>
|
|
<h3>Example Usage:</h3>
|
|
<a href="https://url-shortener.freecodecamp.repl.co/api/shorturl/3"> [this_project_url]/api/shorturl/3 </a>
|
|
|
|
<h3>Will Redirect to:</h3>
|
|
<p>https://forum.freecodecamp.org/</p>
|
|
</div>
|
|
<div class="footer">
|
|
<p>By <a href="https://www.freecodecamp.org">freeCodeCamp</a></p>
|
|
</div>
|
|
</body>
|
|
</html>
|