Have webmentions sent automatically

This commit is contained in:
Jonny Barnes 2016-06-23 14:27:00 +01:00
parent 44060da577
commit e31364e787
7 changed files with 49 additions and 11 deletions

View file

@ -6,6 +6,7 @@ use Exception;
use Illuminate\Validation\ValidationException;
use Illuminate\Session\TokenMismatchException;
use Illuminate\Auth\Access\AuthorizationException;
use Symfony\Component\Debug\Exception\FlattenException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Symfony\Component\HttpKernel\Exception\HttpException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
@ -78,10 +79,11 @@ class Handler extends ExceptionHandler
});
$whoops->pushHandler($handler);
$flattened = FlattenException::create($exc);
return new \Illuminate\Http\Response(
$whoops->handleException($exc),
$exc->getStatusCode(),
$exc->getHeaders()
$flattened->getStatusCode(),
$flattened->getHeaders()
);
}
}

View file

@ -9,6 +9,12 @@ use App\Services\NoteService;
class NotesAdminController extends Controller
{
protected $noteService;
public function __construct(NoteService $noteService = null)
{
$this->noteService = $noteService ?? new NoteService();
}
/**
* Show the form to make a new note.
*

View file

@ -22,7 +22,7 @@ class SendWebMentions extends Job implements ShouldQueue
* @param Note $note
* @return void
*/
public function __construct(Note $note, Client $guzzle)
public function __construct(Note $note, Client $guzzle = null)
{
$this->note = $note;
$this->guzzle = $guzzle ?? new Client();
@ -47,7 +47,7 @@ class SendWebMentions extends Job implements ShouldQueue
'source' => $this->note->longurl,
'target' => $url
]
])
]);
}
}
}

View file

@ -5,7 +5,7 @@ namespace App\Services;
use App\Note;
use App\Place;
use Illuminate\Http\Request;
use App\Jobs\SendWebmentions;
use App\Jobs\SendWebMentions;
use App\Jobs\SyndicateToTwitter;
use Illuminate\Foundation\Bus\DispatchesJobs;
use App\Http\Controllers\WebMentionsController;
@ -46,7 +46,7 @@ class NoteService
}
}
$this->dispatch(new SendWebmentions($note));
$this->dispatch(new SendWebMentions($note));
if (//micropub request, syndication sent as array
(is_array($request->input('mp-syndicate-to'))