예제 #1
0
def get_record(domain_id, record_id):
    context = flask.request.environ.get('context')

    try:
        record = central_api.get_record(context, domain_id, record_id)
    except exceptions.Forbidden:
        return flask.Response(status=401)
    except exceptions.RecordNotFound:
        return flask.Response(status=404)
    else:
        record = _append_record_links(record, record['domain_id'],
                                      record['id'])
        record = record_schema.filter(record)

        return flask.jsonify(record)
예제 #2
0
def get_record(domain_id, record_id):
    context = flask.request.environ.get('context')

    try:
        record = central_api.get_record(context, domain_id, record_id)
    except exceptions.Forbidden:
        return flask.Response(status=401)
    except exceptions.RecordNotFound:
        return flask.Response(status=404)
    else:
        record = _append_record_links(record, record['domain_id'],
                                      record['id'])
        record = record_schema.filter(record)

        return flask.jsonify(record)
예제 #3
0
    context = flask.request.environ.get('context')
    values = flask.request.json

    try:
        record_schema.validate(values)
        record = central_api.create_record(context, domain_id, values)
    except exceptions.Forbidden:
        return flask.Response(status=401)
    except exceptions.InvalidObject, e:
        return flask.Response(status=400, response=str(e))
    except exceptions.DuplicateRecord:
        return flask.Response(status=409)
    else:
        record = _append_record_links(record, record['domain_id'],
                                      record['id'])
        record = record_schema.filter(record)

        response = flask.jsonify(record)
        response.status_int = 201
        response.location = flask.url_for('.get_record',
                                          domain_id=domain_id,
                                          record_id=record['id'])
        return response


@blueprint.route('/domains/<domain_id>/records', methods=['GET'])
def get_records(domain_id):
    context = flask.request.environ.get('context')

    try:
        records = central_api.get_records(context, domain_id)
예제 #4
0
    context = flask.request.environ.get('context')
    values = flask.request.json

    try:
        record_schema.validate(values)
        record = central_api.create_record(context, domain_id, values)
    except exceptions.Forbidden:
        return flask.Response(status=401)
    except exceptions.InvalidObject, e:
        return flask.Response(status=400, response=str(e))
    except exceptions.DuplicateRecord:
        return flask.Response(status=409)
    else:
        record = _append_record_links(record, record['domain_id'],
                                      record['id'])
        record = record_schema.filter(record)

        response = flask.jsonify(record)
        response.status_int = 201
        response.location = flask.url_for('.get_record',
                                          domain_id=domain_id,
                                          record_id=record['id'])
        return response


@blueprint.route('/domains/<domain_id>/records', methods=['GET'])
def get_records(domain_id):
    context = flask.request.environ.get('context')

    try:
        records = central_api.get_records(context, domain_id)