File tree Expand file tree Collapse file tree 6 files changed +1043
-2
lines changed Expand file tree Collapse file tree 6 files changed +1043
-2
lines changed Original file line number Diff line number Diff line change 44
55use App \Paste ;
66use App \Http \Requests \PasteRequest ;
7+ use Illuminate \Database \QueryException ;
78
89class PastesController extends Controller
910{
@@ -14,7 +15,13 @@ public function create()
1415
1516 public function post (PasteRequest $ request )
1617 {
17- $ paste = Paste::fromRequest ($ request );
18+ try {
19+ $ paste = Paste::fromRequest ($ request );
20+ } catch (QueryException $ e ) {
21+ $ request ->session ()->flash ('editor_error ' ,'Data entered was too long ' );
22+
23+ return redirect ('/ ' )->withInput ();
24+ }
1825
1926 return redirect ()->route ('show ' , $ paste ->hash );
2027 }
@@ -36,7 +43,13 @@ public function edit(Paste $paste)
3643
3744 public function fork (PasteRequest $ request , Paste $ paste )
3845 {
39- $ paste = Paste::fromFork ($ paste , $ request );
46+ try {
47+ $ paste = Paste::fromFork ($ paste , $ request );
48+ } catch (QueryException $ e ) {
49+ $ request ->session ()->flash ('editor_error ' ,'Data entered was too long ' );
50+
51+ return redirect ('/ ' )->withInput ();
52+ }
4053
4154 return redirect ()->route ('show ' , $ paste ->hash );
4255 }
Original file line number Diff line number Diff line change 1+ @if (session (' editor_error' ) )
2+ <div class =" alert alert-danger" >
3+ There was a problem with your paste!
4+ <ul >
5+ <li >{{ session (' editor_error' ) } } </li >
6+ </ul >
7+ </div >
8+ @endif
Original file line number Diff line number Diff line change 88 @include (' _logo' )
99
1010 <div class =" options" >
11+ @include (' _errors' )
1112 <ul >
1213 <li ><input type =" submit" value =" Save (CMD+S)" class =" button" ></li >
1314 <li ><input type =" reset" value =" Clear" class =" button" ></li >
Original file line number Diff line number Diff line change 88 @include (' _logo' )
99
1010 <div class =" options" >
11+ @include (' _errors' )
1112 <ul >
1213 <li ><input type =" submit" value =" Save (CMD/CTRL+S)" class =" button" ></li >
1314 <li ><input type =" reset" value =" Clear" class =" button" ></li >
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Tests \Feature ;
4+
5+ use Tests \TestCase ;
6+
7+ class LimitCodeLengthTest extends TestCase
8+ {
9+ /** @test */
10+ public function it_disallows_long_code_posts ()
11+ {
12+ $ long_text = file_get_contents (__DIR__ . '/../artifacts/LongText.txt ' );
13+
14+ $ this ->post ('/ ' , ['code ' => $ long_text ])
15+ ->assertStatus (302 )
16+ ->assertSessionHas ('editor_error ' , 'Data entered was too long ' )
17+ ->assertRedirect ('/ ' );
18+ }
19+ }
You canβt perform that action at this time.
0 commit comments