def get_one(self, zone_id): """ Get Zone """ # TODO(kiall): Validate we have a sane UUID for zone_id request = pecan.request context = request.environ['context'] if 'Accept' not in request.headers: raise exceptions.BadRequest('Missing Accept header') best_match = request.accept.best_match( ['text/dns', 'application/json']) if best_match == 'text/dns': return self._get_zonefile(request, context, zone_id) elif best_match == 'application/json': return self._get_json(request, context, zone_id) else: raise exceptions.UnsupportedAccept( 'Accept must be text/dns or application/json')
def _validate_accept(self): if 'accept' in self.headers and not self.accept_mimetypes.accept_json: msg = 'Unsupported Accept: %s' % self.accept_mimetypes raise exceptions.UnsupportedAccept(msg)