Exemplo n.º 1
0
 def request(self, method, path, data, headers):
     req = webob.Request.blank(path)
     req.method = method
     req.body = data
     req.headers = headers
     req.headers['Accept'] = 'text/html'
     req.host = self.host
     # Call the WSGI app, get the HTTP response
     resp = str(req.get_response(self.app))
     # For some reason, the response doesn't have "HTTP/1.0 " prepended; I
     # guess that's a function the web server usually provides.
     resp = "HTTP/1.0 %s" % resp
     self.sock = FakeHttplibSocket(resp)
     self.http_response = HTTPResponse(self.sock)
     # NOTE(vish): boto is accessing private variables for some reason
     self._HTTPConnection__response = self.http_response
     self.http_response.begin()
Exemplo n.º 2
0
class FakeHttplibConnection(object):
    """A fake httplib.HTTPConnection for boto to use

    requests made via this connection actually get translated and routed into
    our WSGI app, we then wait for the response and turn it back into
    the HTTPResponse that boto expects.
    """

    def __init__(self, app, host, is_secure=False):
        self.app = app
        self.host = host

    def request(self, method, path, data, headers):
        req = webob.Request.blank(path)
        req.method = method
        req.body = data
        req.headers = headers
        req.headers["Accept"] = "text/html"
        req.host = self.host
        # Call the WSGI app, get the HTTP response
        resp = str(req.get_response(self.app))
        # For some reason, the response doesn't have "HTTP/1.0 " prepended; I
        # guess that's a function the web server usually provides.
        resp = "HTTP/1.0 %s" % resp
        self.sock = FakeHttplibSocket(resp)
        self.http_response = HTTPResponse(self.sock)
        # NOTE(vish): boto is accessing private variables for some reason
        self._HTTPConnection__response = self.http_response
        self.http_response.begin()

    def getresponse(self):
        return self.http_response

    def getresponsebody(self):
        return self.sock.response_string

    def close(self):
        """Required for compatibility with boto/tornado."""
        pass
Exemplo n.º 3
0
def user_info(request):
    
    if 'credentials' not in request.session:
        return HttpResponseRedirect(reverse('home_page'))
     
    
    credentials = client.OAuth2Credentials.from_json(request.session['credentials'])

     
    if credentials.access_token_expired:
        return HttpResponseRedirect(reverse('home_page'))

    
    http_auth = credentials.authorize(httplib2.Http())
    service = discovery.build('plus', 'v1', http=http_auth)
    google_request = service.people().get(userId='me')
    result = google_request.execute(http=http_auth)
    
    if 'domain' not in result.keys():
        return HttpResponse("Not a valid user to register") 
    
    elif result['domain'] == "above-inc.com":
        email = result['emails'][0]['value']
        username = email[:-14]
        password = result['id']
    else:
        return HttpResponse("Nothing")
    try:
        saved_user = User.objects.get(username = username,password=password,email = email)   
    except Exception as e:
        print e
        saved_user = User(username=username,password=password,email = email)
        saved_user.save()
    
            
    try:    
        user = authenticate(username=saved_user, password=password)
         
    except Exception as e:
        print e
        return HTTPResponse("not authenticated")
    
    if user is not None:
        if user.is_active:
            login(request,user)
            return HttpResponseRedirect(reverse('userdetails'))
        else:
            return HttpResponseRedirect(reverse("home_page"))
    else:
        print "some were wrong in else login else"
        return HttpResponseRedirect(reverse("home_page"))    
Exemplo n.º 4
0
class FakeHttplibConnection(object):
    """A fake httplib.HTTPConnection for boto to use

    requests made via this connection actually get translated and routed into
    our WSGI app, we then wait for the response and turn it back into
    the HTTPResponse that boto expects.
    """
    def __init__(self, app, host, is_secure=False):
        self.app = app
        self.host = host

    def request(self, method, path, data, headers):
        req = webob.Request.blank(path)
        req.method = method
        req.body = data
        req.headers = headers
        req.headers['Accept'] = 'text/html'
        req.host = self.host
        # Call the WSGI app, get the HTTP response
        resp = str(req.get_response(self.app))
        # For some reason, the response doesn't have "HTTP/1.0 " prepended; I
        # guess that's a function the web server usually provides.
        resp = "HTTP/1.0 %s" % resp
        self.sock = FakeHttplibSocket(resp)
        self.http_response = HTTPResponse(self.sock)
        # NOTE(vish): boto is accessing private variables for some reason
        self._HTTPConnection__response = self.http_response
        self.http_response.begin()

    def getresponse(self):
        return self.http_response

    def getresponsebody(self):
        return self.sock.response_string

    def close(self):
        """Required for compatibility with boto/tornado"""
        pass
Exemplo n.º 5
0
 def request(self, method, path, data, headers):
     req = webob.Request.blank(path)
     req.method = method
     req.body = data
     req.headers = headers
     req.headers['Accept'] = 'text/html'
     req.host = self.host
     # Call the WSGI app, get the HTTP response
     resp = str(req.get_response(self.app))
     # For some reason, the response doesn't have "HTTP/1.0 " prepended; I
     # guess that's a function the web server usually provides.
     resp = "HTTP/1.0 %s" % resp
     self.sock = FakeHttplibSocket(resp)
     self.http_response = HTTPResponse(self.sock)
     # NOTE(vish): boto is accessing private variables for some reason
     self._HTTPConnection__response = self.http_response
     self.http_response.begin()
Exemplo n.º 6
0
def page404(request):

    return HTTPResponse("444")