Passed
Push — master ( 94563c...42d9b1 )
by Julien
05:25
created

StatusCode::internalServerErrorAction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
cc 1
nc 1
nop 0
crap 2
1
<?php
2
/**
3
 * This file is part of the Zemit Framework.
4
 *
5
 * (c) Zemit Team <[email protected]>
6
 *
7
 * For the full copyright and license information, please view the LICENSE.txt
8
 * file that was distributed with this source code.
9
 */
10
11
namespace Zemit\Mvc\Controller;
12
13
use Phalcon\Http\Response;
14
use Zemit\Mvc\Dispatcher;
15
16
/**
17
 * Trait StatusCode
18
 * Mostly designed for Error Controllers
19
 *
20
 * @author Julien Turbide <[email protected]>
21
 * @copyright Zemit Team <[email protected]>
22
 *
23
 * @since 1.0
24
 * @version 1.0
25
 *
26
 * @property Dispatcher $dispatcher
27
 * @property Response $response
28
 * @package Zemit\Mvc\Controller
29
 */
30
trait StatusCode
31
{
32
    /**
33
     * Http Status Code - Dynamic
34
     * index
35
     */
36
    public function indexAction($code = null)
37
    {
38
        $code ??= $this->dispatcher->getParam('code', 200);
39
        $this->setStatusCode($code);
40
    }
41
    
42
    /**
43
     * Http Status Code 100
44
     * continue
45
     */
46
    public function continueAction()
47
    {
48
        $this->setStatusCode(100);
49
    }
50
    
51
    /**
52
     * Http Status Code 101
53
     * switching-protocols
54
     */
55
    public function switchingProtocolsAction()
56
    {
57
        $this->setStatusCode(101);
58
    }
59
    
60
    /**
61
     * Http Status Code 102
62
     * processing
63
     */
64
    public function processingAction()
65
    {
66
        $this->setStatusCode(102);
67
    }
68
    
69
    /**
70
     * Http Status Code 200
71
     * ok
72
     */
73
    public function okAction()
74
    {
75
        $this->setStatusCode(200);
76
    }
77
    
78
    /**
79
     * Http Status Code 201
80
     * created
81
     */
82
    public function createdAction()
83
    {
84
        $this->setStatusCode(201);
85
    }
86
    
87
    /**
88
     * Http Status Code 202
89
     * accepted
90
     */
91
    public function acceptedAction()
92
    {
93
        $this->setStatusCode(202);
94
    }
95
    
96
    /**
97
     * Http Status Code 203
98
     * non-authoritative-information
99
     */
100
    public function nonAuthoritativeInformationAction()
101
    {
102
        $this->setStatusCode(203);
103
    }
104
    
105
    /**
106
     * Http Status Code 204
107
     * no-content
108
     */
109
    public function noContentAction()
110
    {
111
        $this->setStatusCode(204);
112
    }
113
    
114
    /**
115
     * Http Status Code 205
116
     * reset-content
117
     */
118
    public function resetContentAction()
119
    {
120
        $this->setStatusCode(205);
121
    }
122
    
123
    /**
124
     * Http Status Code 206
125
     * partial-content
126
     */
127
    public function partialContentAction()
128
    {
129
        $this->setStatusCode(206);
130
    }
131
    
132
    /**
133
     * Http Status Code 207
134
     * multi-status
135
     */
136
    public function multiStatusAction()
137
    {
138
        $this->setStatusCode(207);
139
    }
140
    
141
    /**
142
     * Http Status Code 208
143
     * already-reported
144
     */
145
    public function alreadyReportedAction()
146
    {
147
        $this->setStatusCode(208);
148
    }
149
    
150
    /**
151
     * Http Status Code 226
152
     * im-used
153
     */
154
    public function imUsedAction()
155
    {
156
        $this->setStatusCode(226);
157
    }
158
    
159
    /**
160
     * Http Status Code 300
161
     * multiple-choices
162
     */
163
    public function multipleChoicesAction()
164
    {
165
        $this->setStatusCode(300);
166
    }
167
    
168
    /**
169
     * Http Status Code 301
170
     * moved-permanently
171
     */
172
    public function movedPermanentlyAction()
173
    {
174
        $this->setStatusCode(301);
175
    }
176
    
177
    /**
178
     * Http Status Code 302
179
     * found
180
     */
181
    public function foundAction()
182
    {
183
        $this->setStatusCode(302);
184
    }
185
    
186
    /**
187
     * Http Status Code 303
188
     * see-other
189
     */
190
    public function seeOtherAction()
191
    {
192
        $this->setStatusCode(303);
193
    }
194
    
195
    /**
196
     * Http Status Code 304
197
     * not-modified
198
     */
199
    public function notModifiedAction()
200
    {
201
        $this->setStatusCode(304);
202
    }
203
    
204
    /**
205
     * Http Status Code 305
206
     * use-proxy
207
     */
208
    public function useProxyAction()
209
    {
210
        $this->setStatusCode(305);
211
    }
212
    
213
    /**
214
     * Http Status Code 306
215
     * switch-proxy
216
     */
217
    public function switchProxyAction()
218
    {
219
        $this->setStatusCode(306);
220
    }
221
    
222
    /**
223
     * Http Status Code 307
224
     * temporary-redirect
225
     */
226
    public function temporaryRedirectAction()
227
    {
228
        $this->setStatusCode(307);
229
    }
230
    
231
    /**
232
     * Http Status Code 308
233
     * permanent-redirect
234
     */
235
    public function permanentRedirectAction()
236
    {
237
        $this->setStatusCode(308);
238
    }
239
    
240
    /**
241
     * Http Status Code 400
242
     * bad-request
243
     */
244
    public function badRequestAction()
245
    {
246
        $this->setStatusCode(400);
247
    }
248
    
249
    /**
250
     * Http Status Code 401
251
     * unauthorized
252
     */
253
    public function unauthorizedAction()
254
    {
255
        $this->setStatusCode(401);
256
    }
257
    
258
    /**
259
     * Http Status Code 402
260
     * payment-required
261
     */
262
    public function paymentRequiredAction()
263
    {
264
        $this->setStatusCode(402);
265
    }
266
    
267
    /**
268
     * Http Status Code 403
269
     * forbidden
270
     */
271
    public function forbiddenAction()
272
    {
273
        $this->setStatusCode(403);
274
    }
275
    
276
    /**
277
     * Http Status Code 404
278
     * not-found
279
     */
280
    public function notFoundAction()
281
    {
282
        $this->setStatusCode(404);
283
    }
284
    
285
    /**
286
     * Http Status Code 405
287
     * method-not-allowed
288
     */
289
    public function methodNotAllowedAction()
290
    {
291
        $this->setStatusCode(405);
292
    }
293
    
294
    /**
295
     * Http Status Code 406
296
     * not-acceptable
297
     */
298
    public function notAcceptableAction()
299
    {
300
        $this->setStatusCode(406);
301
    }
302
    
303
    /**
304
     * Http Status Code 407
305
     * proxy-authentication-required
306
     */
307
    public function proxyAuthenticationRequiredAction()
308
    {
309
        $this->setStatusCode(407);
310
    }
311
    
312
    /**
313
     * Http Status Code 408
314
     * request-timeout
315
     */
316
    public function requestTimeoutAction()
317
    {
318
        $this->setStatusCode(408);
319
    }
320
    
321
    /**
322
     * Http Status Code 409
323
     * conflict
324
     */
325
    public function conflictAction()
326
    {
327
        $this->setStatusCode(409);
328
    }
329
    
330
    /**
331
     * Http Status Code 410
332
     * gone
333
     */
334
    public function goneAction()
335
    {
336
        $this->setStatusCode(410);
337
    }
338
    
339
    /**
340
     * Http Status Code 411
341
     * length-required
342
     */
343
    public function lengthRequiredAction()
344
    {
345
        $this->setStatusCode(411);
346
    }
347
    
348
    /**
349
     * Http Status Code 412
350
     * precondition-failed
351
     */
352
    public function preconditionFailedAction()
353
    {
354
        $this->setStatusCode(412);
355
    }
356
    
357
    /**
358
     * Http Status Code 413
359
     * request-entity-too-large
360
     */
361
    public function requestEntityTooLargeAction()
362
    {
363
        $this->setStatusCode(413);
364
    }
365
    
366
    /**
367
     * Http Status Code 414
368
     * request-uri-too-long
369
     */
370
    public function requestUriTooLongAction()
371
    {
372
        $this->setStatusCode(414);
373
    }
374
    
375
    /**
376
     * Http Status Code 415
377
     * unsupported-media-type
378
     */
379
    public function unsupportedMediaTypeAction()
380
    {
381
        $this->setStatusCode(415);
382
    }
383
    
384
    /**
385
     * Http Status Code 416
386
     * requested-range-not-satisfiable
387
     */
388
    public function requestedRangeNotSatisfiableAction()
389
    {
390
        $this->setStatusCode(416);
391
    }
392
    
393
    /**
394
     * Http Status Code 417
395
     * expectation-failed
396
     */
397
    public function expectationFailedAction()
398
    {
399
        $this->setStatusCode(417);
400
    }
401
    
402
    /**
403
     * Http Status Code 418
404
     * im-ateapot
405
     */
406
    public function imATeapotAction()
407
    {
408
        $this->setStatusCode(418);
409
    }
410
    
411
    /**
412
     * Http Status Code 419
413
     * authentication-timeout
414
     */
415
    public function authenticationTimeoutAction()
416
    {
417
        $this->setStatusCode(419);
418
    }
419
    
420
    /**
421
     * Http Status Code 420
422
     * method-failure
423
     */
424
    public function methodFailureAction()
425
    {
426
        $this->setStatusCode(420);
427
    }
428
    
429
    /**
430
     * Http Status Code 422
431
     * unprocessable-entity
432
     */
433
    public function unprocessableEntityAction()
434
    {
435
        $this->setStatusCode(422);
436
    }
437
    
438
    /**
439
     * Http Status Code 423
440
     * locked
441
     */
442
    public function lockedAction()
443
    {
444
        $this->setStatusCode(423);
445
    }
446
    
447
    /**
448
     * Http Status Code 424
449
     * failed-dependency
450
     */
451
    public function failedDependencyAction()
452
    {
453
        $this->setStatusCode(424);
454
    }
455
    
456
    /**
457
     * Http Status Code 426
458
     * upgrade-required
459
     */
460
    public function upgradeRequiredAction()
461
    {
462
        $this->setStatusCode(426);
463
    }
464
    
465
    /**
466
     * Http Status Code 428
467
     * precondition-required
468
     */
469
    public function preconditionRequiredAction()
470
    {
471
        $this->setStatusCode(428);
472
    }
473
    
474
    /**
475
     * Http Status Code 429
476
     * too-many-requests
477
     */
478
    public function tooManyRequestsAction()
479
    {
480
        $this->setStatusCode(429);
481
    }
482
    
483
    /**
484
     * Http Status Code 431
485
     * request-header-fields-too-large
486
     */
487
    public function requestHeaderFieldsTooLargeAction()
488
    {
489
        $this->setStatusCode(431);
490
    }
491
    
492
    /**
493
     * Http Status Code 440
494
     * login-timeout
495
     */
496
    public function loginTimeoutAction()
497
    {
498
        $this->setStatusCode(440);
499
    }
500
    
501
    /**
502
     * Http Status Code 444
503
     * no-response
504
     */
505
    public function noResponseAction()
506
    {
507
        $this->setStatusCode(444);
508
    }
509
    
510
    /**
511
     * Http Status Code 449
512
     * retry-with
513
     */
514
    public function retryWithAction()
515
    {
516
        $this->setStatusCode(449);
517
    }
518
    
519
    /**
520
     * Http Status Code 450
521
     * blocked-by-windows-parental-controls
522
     */
523
    public function blockedByWindowsParentalControlsAction()
524
    {
525
        $this->setStatusCode(450);
526
    }
527
    
528
    /**
529
     * Http Status Code 451
530
     * unavailable-for-legal-reasons
531
     */
532
    public function unavailableForLegalReasonsAction()
533
    {
534
        $this->setStatusCode(451);
535
    }
536
    
537
    /**
538
     * Http Status Code 494
539
     * request-header-too-large
540
     */
541
    public function requestHeaderTooLargeAction()
542
    {
543
        $this->setStatusCode(494);
544
    }
545
    
546
    /**
547
     * Http Status Code 495
548
     * cert-error
549
     */
550
    public function certErrorAction()
551
    {
552
        $this->setStatusCode(495);
553
    }
554
    
555
    /**
556
     * Http Status Code 496
557
     * no-cert
558
     */
559
    public function noCertAction()
560
    {
561
        $this->setStatusCode(496);
562
    }
563
    
564
    /**
565
     * Http Status Code 497
566
     * http-to-https
567
     */
568
    public function httpToHttpsAction()
569
    {
570
        $this->setStatusCode(497);
571
    }
572
    
573
    /**
574
     * Http Status Code 498
575
     * token-expiredinvalid
576
     */
577
    public function tokenExpiredinvalidAction()
578
    {
579
        $this->setStatusCode(498);
580
    }
581
    
582
    /**
583
     * Http Status Code 499
584
     * client-closed-request
585
     */
586
    public function clientClosedRequestAction()
587
    {
588
        $this->setStatusCode(499);
589
    }
590
    
591
    /**
592
     * Http Status Code 500
593
     * internal-server-error
594
     */
595
    public function internalServerErrorAction()
596
    {
597
        $this->setStatusCode(500);
598
    }
599
    
600
    /**
601
     * Http Status Code 501
602
     * not-implemented
603
     */
604
    public function notImplementedAction()
605
    {
606
        $this->setStatusCode(501);
607
    }
608
    
609
    /**
610
     * Http Status Code 502
611
     * bad-gateway
612
     */
613
    public function badGatewayAction()
614
    {
615
        $this->setStatusCode(502);
616
    }
617
    
618
    /**
619
     * Http Status Code 503
620
     * service-unavailable
621
     */
622
    public function serviceUnavailableAction()
623
    {
624
        $this->setStatusCode(503);
625
    }
626
    
627
    /**
628
     * Http Status Code 504
629
     * gateway-timeout
630
     */
631
    public function gatewayTimeoutAction()
632
    {
633
        $this->setStatusCode(504);
634
    }
635
    
636
    /**
637
     * Http Status Code 505
638
     * http-version-not-supported
639
     */
640
    public function httpVersionNotSupportedAction()
641
    {
642
        $this->setStatusCode(505);
643
    }
644
    
645
    /**
646
     * Http Status Code 506
647
     * variant-also-negotiates
648
     */
649
    public function variantAlsoNegotiatesAction()
650
    {
651
        $this->setStatusCode(506);
652
    }
653
    
654
    /**
655
     * Http Status Code 507
656
     * insufficient-storage
657
     */
658
    public function insufficientStorageAction()
659
    {
660
        $this->setStatusCode(507);
661
    }
662
    
663
    /**
664
     * Http Status Code 508
665
     * loop-detected
666
     */
667
    public function loopDetectedAction()
668
    {
669
        $this->setStatusCode(508);
670
    }
671
    
672
    /**
673
     * Http Status Code 509
674
     * bandwidth-limit-exceeded
675
     */
676
    public function bandwidthLimitExceededAction()
677
    {
678
        $this->setStatusCode(509);
679
    }
680
    
681
    /**
682
     * Http Status Code 510
683
     * not-extended
684
     */
685
    public function notExtendedAction()
686
    {
687
        $this->setStatusCode(510);
688
    }
689
    
690
    /**
691
     * Http Status Code 511
692
     * network-authentication-required
693
     */
694
    public function networkAuthenticationRequiredAction()
695
    {
696
        $this->setStatusCode(511);
697
    }
698
    
699
    /**
700
     * Http Status Code 598
701
     * network-read-timeout-error
702
     */
703
    public function networkReadTimeoutErrorAction()
704
    {
705
        $this->setStatusCode(598);
706
    }
707
    
708
    /**
709
     * Http Status Code 599
710
     * network-connect-timeout-error
711
     */
712
    public function networkConnectTimeoutErrorAction()
713
    {
714
        $this->setStatusCode(599);
715
    }
716
    
717
    /**
718
     * Http Status Code 500
719
     * fatal alias to internal-server-error
720
     */
721
    public function fatalAction()
722
    {
723
        $this->dispatcher->forward(['action' => 'internal-server-error']);
724
    }
725
    
726
    /**
727
     * Http Status Code 503
728
     * maintenance alias to service-unavailable
729
     */
730
    public function maintenanceAction()
731
    {
732
        $this->dispatcher->forward(['action' => 'service-unavailable']);
733
    }
734
    
735
    /**
736
     * Set the status code to the response
737
     *
738
     * @param $code
739
     *
740
     * @return \Phalcon\Http\ResponseInterface
741
     */
742
    public function setStatusCode($code)
743
    {
744
        return $this->response->setStatusCode($code, \Zemit\Http\StatusCode::getMessage($code));
745
    }
746
}
747