Skip to content

xitrum-framework/comy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1f62932 · Mar 2, 2023
Jan 17, 2021
Nov 15, 2011
Nov 7, 2022
Oct 12, 2011
Nov 7, 2022
Feb 18, 2019
Jan 17, 2021
Aug 19, 2014
Jun 11, 2014
Mar 27, 2017
May 15, 2014
Mar 2, 2023

Repository files navigation

Simple URL Shortener using Xitrum (https://github.com/xitrum-framework/xitrum) and MongoDB.

URLs will be shorten to a 7-character string using base 62. In theory, it can
support up to 62^7 unique URLs (more than 3 trillions).

== POST

To shorten a URL, send a POST request to:
http://SERVER/api/shorten?url=ESCAPED_URL

Response:
* 200: the body is a random key to lookup the original URL later
* 500: server error, for example the DB may be down

If you do not like the key to be random, send a POST request to:
http://SERVER/api/shorten?url=ESCAPED_URL&key=KEY

Characters in KEY must be a-z, A-Z, _, or -

Response:
* 200 or 500: same as above
* 400: the key contains invalid charater(s)
* 409: the key has been chosen

== GET

To be redirected to the original (non-escaped) URL, send a GET request to:
http://SERVER/KEY

Response:
* 302: the client will be redirected to the original URL
* 404: invalid key or the key has been expired
* 500: server error, for example the DB may be down