Changeset 10722
- Timestamp:
- 04/29/08 11:58:51 (5 years ago)
- Location:
- lang/perl/Moxy/trunk
- Files:
-
- 2 modified
-
lib/Moxy.pm (modified) (1 diff)
-
moxy.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Moxy/trunk/lib/Moxy.pm
r10716 r10722 161 161 162 162 sub handle_request { 163 my $self = shift; 164 my %args = validate( 165 @_, 166 +{ 167 request => { isa => 'HTTP::Request' }, 168 } 169 ); 170 171 my $uri = URI->new($args{request}->uri); 172 $self->log(debug => "Request URI: $uri"); 173 174 my $base = $uri->clone; 175 $base->path(''); 176 $base->query_form({}); 177 178 my $auth_header = $args{request}->header('Authorization'); 179 $self->log(debug => "Authorization header: $auth_header"); 180 if ($auth_header =~ /^Basic (.+)$/) { 181 my $auth = decode_base64($1); 182 $self->log(debug => "auth: $auth"); 163 my ($self, $c) = @_; 164 165 my $session_id = join ',', $c->req->headers->authorization_basic; 166 $self->log(debug => "Authorization header: $session_id"); 167 if ($session_id) { 168 my $uri = URI->new($c->req->uri); 169 $self->log(debug => "Request URI: $uri"); 170 171 my $base = $uri->clone; 172 $base->path(''); 173 $base->query_form({}); 174 183 175 (my $url = $uri->path_query) =~ s!^/!!; 184 176 $url = uf_uristr(uri_unescape $url); 185 $self->log(info => "REQUEST $auth, @{[ $url || '' ]}");186 177 my $response = $self->_make_response( 187 178 url => $url, 188 request => $ args{request},179 request => $c->req->as_http_request, 189 180 base_url => $base, 190 user_id => $ auth,181 user_id => $session_id, 191 182 ); 192 return $response;183 $c->res->set_http_response($response); 193 184 } else { 194 my $response = HTTP::Response->new(401, 'Moxy needs authentication'); 195 $response->header( 'WWW-Authenticate' => 196 qq{Basic realm="Moxy needs basic auth.Only for identification.Password is dummy."} 197 ); 198 $response->content('authentication required'); 199 return $response; 185 $c->res->status(401); 186 $c->res->headers->www_authenticate(qq{Basic realm="Moxy needs basic auth.Only for identification.Password is dummy."}); 187 $c->res->body('authentication required'); 200 188 } 201 189 } -
lang/perl/Moxy/trunk/moxy.pl
r10721 r10722 48 48 handle_request => sub { 49 49 my $c = shift; 50 my $response = $moxy->handle_request( request => $c->req->as_http_request, ); 51 $c->res->set_http_response($response); 50 $moxy->handle_request( $c ); 52 51 }, 53 52 )->run;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)