Skip to content

Commit 40ae300

Browse files
authored
Merge pull request ProcessMaker#2120 from ProcessMaker/bugfix/2060
Add a debug endpoint to log javascript api errors
2 parents ba06a6c + 7364ef4 commit 40ae300

3 files changed

Lines changed: 27 additions & 0 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace ProcessMaker\Http\Controllers\Api;
4+
5+
use Illuminate\Http\Request;
6+
use ProcessMaker\Http\Controllers\Controller;
7+
8+
class DebugController extends Controller
9+
{
10+
public function store(Request $request)
11+
{
12+
\Log::debug(
13+
"Unhandled Javascript API Error: " .
14+
str_limit($request->getContent(), 100000)
15+
);
16+
return response('', 204);
17+
}
18+
}

resources/js/app-layout.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,12 @@ window.ProcessMaker.apiClient.interceptors.response.use((response) => {
168168
window.ProcessMaker.EventBus.$emit("api-client-error", error);
169169
if (error.response && error.response.status && error.response.status === 401) {
170170
window.location = "/login";
171+
} else if (!error.config.url.match('/debug')) {
172+
window.ProcessMaker.apiClient.post('/debug', {
173+
message: error.message,
174+
code: error.code,
175+
config: error.config
176+
})
171177
}
172178
return Promise.reject(error);
173179
});

routes/api.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@
145145
Route::post('comments', 'CommentController@store')->name('comments.store')->middleware('can:create-comments');
146146
Route::put('comments/{comment}', 'CommentController@update')->name('comments.update')->middleware('can:edit-comments');
147147
Route::delete('comments/{comment}', 'CommentController@destroy')->name('comments.destroy')->middleware('can:delete-comments');
148+
149+
// debugging javascript errors
150+
Route::post('debug', 'DebugController@store')->name('debug.store')->middleware('throttle');
148151

149152
// Returns a json error message instead of HTML
150153
Route::fallback(function(){

0 commit comments

Comments
 (0)