Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Simple URL shortener using Xitrum and MongoDB
Scala Shell HTML CSS
branch: master
Failed to load latest commit information.
config Update Xitrum from 3.22 to 3.23
lib Update ZXing from 1.5 to 1.7
project
public No need for /public URL prefix now
sbt Fix Windows scripts
script Fix Windows scripts
src/main Xitrum 3.19: beforeFilter doesn't have to return true/false
.gitignore
DEVELOPMENT http://xitrum-framework.github.io/guide
INSTALL Update Xitrum from 1.8 to 1.9.4
README Fix #10 Replace URLs to point from ngocdaothanh to xitrum-framework
build.sbt Update Xitrum from 3.22 to 3.23

README

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
Something went wrong with that request. Please try again.