Passed
Push — master ( 9f868f...ab76be )
by Julien
04:54 queued 16s
created

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