Beispiel #1
0
class ShortUrl:

    exposed = True

    def __init__(self):
        self.dao = ShortUrlDaoSqlLiteImpl()
        self.encoder = UrlEncoder()

    def GET(self, encodedUrl):
        real_url = self.dao.find(encodedUrl)
        if real_url != None:
            cherrypy.log("REDIRECTING TO " + real_url)
            raise cherrypy.HTTPRedirect(real_url, 302)
        else:
            cherrypy.response.status = "404"  # Not found
            return "%s: NOT FOUND" % encodedUrl

    def POST(self, url):
        try:
            id = self.dao.create(url)
            cherrypy.response.status = "201"  # Created
            return "http://%s/%s" % (cherrypy.request.headers["host"], id)
        except Exception, e:
            cherrypy.log("ERROR CREATING SHORT URL", traceback=True)
            cherrypy.response.status = "500"  # Created
            return "error creating a short URL"
Beispiel #2
0
 def __init__(self):
     self.dao = ShortUrlDaoSqlLiteImpl()
     self.encoder = UrlEncoder()