Lines 380-392
Link Here
|
380 |
req.serverName().setString(proxyName); |
380 |
req.serverName().setString(proxyName); |
381 |
} |
381 |
} |
382 |
|
382 |
|
383 |
// Parse session Id |
|
|
384 |
parseSessionId(req, request); |
385 |
|
386 |
// URI decoding |
383 |
// URI decoding |
387 |
MessageBytes decodedURI = req.decodedURI(); |
384 |
MessageBytes decodedURI = req.decodedURI(); |
388 |
decodedURI.duplicate(req.requestURI()); |
385 |
decodedURI.duplicate(req.requestURI()); |
389 |
|
386 |
|
|
|
387 |
// Request mapping. |
388 |
MessageBytes serverName; |
389 |
if (connector.getUseIPVHosts()) { |
390 |
serverName = req.localName(); |
391 |
if (serverName.isNull()) { |
392 |
// well, they did ask for it |
393 |
res.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE, null); |
394 |
} |
395 |
} else { |
396 |
serverName = req.serverName(); |
397 |
} |
398 |
connector.getMapper().map(serverName, decodedURI, |
399 |
request.getMappingData()); |
400 |
request.setContext((Context) request.getMappingData().context); |
401 |
request.setWrapper((Wrapper) request.getMappingData().wrapper); |
402 |
|
403 |
// Parse session Id |
404 |
parseSessionId(req, request); |
405 |
|
390 |
if (decodedURI.getType() == MessageBytes.T_BYTES) { |
406 |
if (decodedURI.getType() == MessageBytes.T_BYTES) { |
391 |
// Remove any path parameters |
407 |
// Remove any path parameters |
392 |
ByteChunk uriBB = decodedURI.getByteChunk(); |
408 |
ByteChunk uriBB = decodedURI.getByteChunk(); |
Lines 443-464
Link Here
|
443 |
request.setAuthType(authtype); |
459 |
request.setAuthType(authtype); |
444 |
} |
460 |
} |
445 |
|
461 |
|
446 |
// Request mapping. |
|
|
447 |
MessageBytes serverName; |
448 |
if (connector.getUseIPVHosts()) { |
449 |
serverName = req.localName(); |
450 |
if (serverName.isNull()) { |
451 |
// well, they did ask for it |
452 |
res.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE, null); |
453 |
} |
454 |
} else { |
455 |
serverName = req.serverName(); |
456 |
} |
457 |
connector.getMapper().map(serverName, decodedURI, |
458 |
request.getMappingData()); |
459 |
request.setContext((Context) request.getMappingData().context); |
460 |
request.setWrapper((Wrapper) request.getMappingData().wrapper); |
461 |
|
462 |
// Filter trace method |
462 |
// Filter trace method |
463 |
if (!connector.getAllowTrace() |
463 |
if (!connector.getAllowTrace() |
464 |
&& req.method().equalsIgnoreCase("TRACE")) { |
464 |
&& req.method().equalsIgnoreCase("TRACE")) { |
Lines 517-522
Link Here
|
517 |
*/ |
517 |
*/ |
518 |
protected void parseSessionId(org.apache.coyote.Request req, Request request) { |
518 |
protected void parseSessionId(org.apache.coyote.Request req, Request request) { |
519 |
|
519 |
|
|
|
520 |
// If session tracking via URL rewriting has been disabled for the current |
521 |
// context, don't go looking for a session ID in the URL |
522 |
Context context = (Context) request.getMappingData().context; |
523 |
if (context != null && !context.getUrlRewriting()) |
524 |
return; |
525 |
|
520 |
ByteChunk uriBC = req.requestURI().getByteChunk(); |
526 |
ByteChunk uriBC = req.requestURI().getByteChunk(); |
521 |
int semicolon = uriBC.indexOf(match, 0, match.length(), 0); |
527 |
int semicolon = uriBC.indexOf(match, 0, match.length(), 0); |
522 |
|
528 |
|