'Handler for HTTP GET/HEAD requests.'

def GETorHEAD(self, req):

    if (len(self.account_name) > constraints.MAX_ACCOUNT_NAME_LENGTH):
        resp = HTTPBadRequest(request=req)
        resp.body = ('Account    name    length    of    %d    longer    than    %d' % (len(self.account_name), constraints.MAX_ACCOUNT_NAME_LENGTH))
        return resp
    partition = self.app.account_ring.get_part(self.account_name)
    concurrency = (self.app.account_ring.replica_count if self.app.concurrent_gets else 1)
    node_iter = self.app.iter_nodes(self.app.account_ring, partition)
    resp = self.GETorHEAD_base(req, _('Account'), node_iter, partition, req.swift_entity_path.rstrip('/'), concurrency)
    if (resp.status_int == HTTP_NOT_FOUND):
        if (resp.headers.get('X-Account-Status', '').lower() == 'deleted'):
            resp.status = HTTP_GONE
        elif self.app.account_autocreate:
            resp = account_listing_response(self.account_name, req, get_listing_content_type(req))
            resp.headers['X-Backend-Fake-Account-Listing'] = 'yes'
    resp.headers['X-Backend-Recheck-Account-Existence'] = str(self.app.recheck_account_existence)
    set_info_cache(self.app, req.environ, self.account_name, None, resp)
    if req.environ.get('swift_owner'):
        self.add_acls_from_sys_metadata(resp)
    else:
        for header in self.app.swift_owner_headers:
            resp.headers.pop(header, None)
    return resp
