Esempio n. 1
0
 def test_GET_default_2(self): 
     self.test_insert_anotation()
     for accept in FORMAT_MAP.values():
         request = self.factory.get('/endpoint', data = {}, 
                                HTTP_ACCEPT = accept)
         response = endpoint(request)
         self.assert_(response.status_code in [200, 204], "HTTPResponse has status: %s" 
                      % response.status_code)
         self.assert_('http://data.gov.uk//dataset/index-of-multiple-deprivation' 
                      in response.content, "Cannot serialize %s" % accept)        
Esempio n. 2
0
def _validateFormat(request):
    '''
        Returns the mimetype of the required format as mapped by rdflib
        return: String - an allowed rdflib mimetype 
    '''
    req_format = None    
    if isGET(request):
        req_format = FORMAT_MAP.get(request.GET.get('format', None))        
    if isPOST(request):
        req_format = request.environ.get('CONTENT_TYPE', None)        
    
    if req_format:
        if req_format not in FORMAT_MAP.values():
            raise SerializeError("Cannot generate the required format %s " % req_format)
    return req_format
Esempio n. 3
0
def processHEAD(request, return_content = False):
    '''
        Returns an httplib.HTTPRequest
    '''
    graph = get_graph_from_request(request)    
    accept = http_accept(request)
    
    if accept not in FORMAT_MAP.values():
        return HttpResponse(status = 406)        
    
    g = None
    if graph is None:
        g = ConjunctiveGraph(store=CharmeMiddleware.get_store())        
    else:
        g = generate_graph(CharmeMiddleware.get_store(), URIRef(graph))
    
    content = g.serialize(format = rdf_format_from_mime(accept))
    
    if return_content:
        return HttpResponse(content = content) 
    return HttpResponse()