#!/usr/bin/env php . */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..')); $longoptions = array('verify', 'slap=', 'notice='); $helptext = << send signed Salmon slap to the destination endpoint END_OF_HELP; require_once INSTALLDIR.'/scripts/commandline.inc'; if (!have_option('--notice')) { print "$helptext"; exit(1); } $notice_id = get_option_value('--notice'); $notice = Notice::getKV('id', $notice_id); $profile = $notice->getProfile(); $entry = $notice->asAtomEntry(true); echo "== Original entry ==\n\n"; print $entry; print "\n\n"; $salmon = new Salmon(); $envelope = $salmon->createMagicEnv($entry, $profile); echo "== Signed envelope ==\n\n"; print $envelope; print "\n\n"; echo "== Testing local verification ==\n\n"; $ok = $salmon->verifyMagicEnv($envelope); if ($ok) { print "OK\n\n"; } else { print "FAIL\n\n"; } if (have_option('--verify')) { $url = 'http://www.madebymonsieur.com/ostatus_discovery/magic_env/validate/'; echo "== Testing remote verification ==\n\n"; print "Sending for verification to $url ...\n"; $client = new HTTPClient(); $response = $client->post($url, array(), array('magic_env' => $envelope)); print $response->getStatus() . "\n\n"; print $response->getBody() . "\n\n"; } if (have_option('--slap')) { $url = get_option_value('--slap'); echo "== Remote salmon slap ==\n\n"; print "Sending signed Salmon slap to $url ...\n"; $ok = $salmon->post($url, $entry, $profile); if ($ok) { print "OK\n\n"; } else { print "FAIL\n\n"; } }