Пример #1
0
def endpoint(request):
    parsed = utils.parse_magic_envelope(request.raw_post_data)
    parsed['data'] = utils.decode(parsed['data'])

    # verify that data was signed by sender
    author_uri = utils.parse_author_uri_from_atom(parsed['data'])
    if not magicsigs.verify(author_uri, parsed['data'], parsed['sig']):
        return HttpResponseBadRequest("Could not verify magic signature.")

    # verify that the timestamp is recent
    updated = utils.parse_updated_from_atom(parsed['data'])
    if not utils.verify_timestamp(updated):
        return HttpResponseBadRequest("Invalid timestamp.")

    # hand waving on mime_type right now, but seems like this'd be
    # a decent interface.
    utils.slap_notify(parsed['data'], 'application/atom+xml')

    return HttpResponse('slapped: %s' % (parsed,))
Пример #2
0
def test_almost_old_timestamp():
    updated = utils.parse_updated_from_atom(almost_old_entry)
    assert utils.verify_timestamp(updated)
Пример #3
0
def test_new_timestamp():
    updated = utils.parse_updated_from_atom(newer_atom_entry)
    assert utils.verify_timestamp(updated)