d5156af069b86648e760a1591829cc9f3b59d805
[nginx.git] / nginx / src / http / modules / perl / nginx.pm
1 package nginx;
2
3 use 5.006001;
4 use strict;
5 use warnings;
6
7 require Exporter;
8
9 our @ISA = qw(Exporter);
10
11 our @EXPORT = qw(
12     OK
13     DECLINED
14
15     HTTP_OK
16     HTTP_CREATED
17     HTTP_NO_CONTENT
18     HTTP_PARTIAL_CONTENT
19
20     HTTP_MOVED_PERMANENTLY
21     HTTP_MOVED_TEMPORARILY
22     HTTP_REDIRECT
23     HTTP_NOT_MODIFIED
24
25     HTTP_BAD_REQUEST
26     HTTP_UNAUTHORIZED
27     HTTP_PAYMENT_REQUIRED
28     HTTP_FORBIDDEN
29     HTTP_NOT_FOUND
30     HTTP_NOT_ALLOWED
31     HTTP_NOT_ACCEPTABLE
32     HTTP_REQUEST_TIME_OUT
33     HTTP_CONFLICT
34     HTTP_GONE
35     HTTP_LENGTH_REQUIRED
36     HTTP_REQUEST_ENTITY_TOO_LARGE
37     HTTP_REQUEST_URI_TOO_LARGE
38     HTTP_UNSUPPORTED_MEDIA_TYPE
39     HTTP_RANGE_NOT_SATISFIABLE
40
41     HTTP_INTERNAL_SERVER_ERROR
42     HTTP_SERVER_ERROR
43     HTTP_NOT_IMPLEMENTED
44     HTTP_BAD_GATEWAY
45     HTTP_SERVICE_UNAVAILABLE
46     HTTP_GATEWAY_TIME_OUT
47     HTTP_INSUFFICIENT_STORAGE
48 );
49
50 our $VERSION = '0.7.34';
51
52 require XSLoader;
53 XSLoader::load('nginx', $VERSION);
54
55 # Preloaded methods go here.
56
57 use constant OK                             => 0;
58 use constant DECLINED                       => -5;
59
60 use constant HTTP_OK                        => 200;
61 use constant HTTP_CREATED                   => 201;
62 use constant HTTP_NO_CONTENT                => 204;
63 use constant HTTP_PARTIAL_CONTENT           => 206;
64
65 use constant HTTP_MOVED_PERMANENTLY         => 301;
66 use constant HTTP_MOVED_TEMPORARILY         => 302;
67 use constant HTTP_REDIRECT                  => 302;
68 use constant HTTP_NOT_MODIFIED              => 304;
69
70 use constant HTTP_BAD_REQUEST               => 400;
71 use constant HTTP_UNAUTHORIZED              => 401;
72 use constant HTTP_PAYMENT_REQUIRED          => 402;
73 use constant HTTP_FORBIDDEN                 => 403;
74 use constant HTTP_NOT_FOUND                 => 404;
75 use constant HTTP_NOT_ALLOWED               => 405;
76 use constant HTTP_NOT_ACCEPTABLE            => 406;
77 use constant HTTP_REQUEST_TIME_OUT          => 408;
78 use constant HTTP_CONFLICT                  => 409;
79 use constant HTTP_GONE                      => 410;
80 use constant HTTP_LENGTH_REQUIRED           => 411;
81 use constant HTTP_REQUEST_ENTITY_TOO_LARGE  => 413;
82 use constant HTTP_REQUEST_URI_TOO_LARGE     => 414;
83 use constant HTTP_UNSUPPORTED_MEDIA_TYPE    => 415;
84 use constant HTTP_RANGE_NOT_SATISFIABLE     => 416;
85
86 use constant HTTP_INTERNAL_SERVER_ERROR     => 500;
87 use constant HTTP_SERVER_ERROR              => 500;
88 use constant HTTP_NOT_IMPLEMENTED           => 501;
89 use constant HTTP_BAD_GATEWAY               => 502;
90 use constant HTTP_SERVICE_UNAVAILABLE       => 503;
91 use constant HTTP_GATEWAY_TIME_OUT          => 504;
92 use constant HTTP_INSUFFICIENT_STORAGE      => 507;
93
94
95 sub rflush {
96     my $r = shift;
97
98     $r->flush;
99 }
100
101
102 1;
103 __END__
104
105 =head1 NAME
106
107 nginx - Perl interface to the nginx HTTP server API
108
109 =head1 SYNOPSIS
110
111   use nginx;
112
113 =head1 DESCRIPTION
114
115 This module provides a Perl interface to the nginx HTTP server API.
116
117
118 =head1 SEE ALSO
119
120 http://sysoev.ru/nginx/docs/http/ngx_http_perl_module.html
121
122 =head1 AUTHOR
123
124 Igor Sysoev
125
126 =head1 COPYRIGHT AND LICENSE
127
128 Copyright (C) Igor Sysoev
129
130
131 =cut