Mercurial Hosting > luan
comparison src/org/eclipse/jetty/http/HttpParser.java @ 1021:e350c11242be
minor
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Mon, 31 Oct 2016 22:49:25 -0600 |
| parents | 6be43ef1eb96 |
| children | 3718afd99988 |
comparison
equal
deleted
inserted
replaced
| 1020:6be43ef1eb96 | 1021:e350c11242be |
|---|---|
| 276 _eol=0; | 276 _eol=0; |
| 277 | 277 |
| 278 switch (_state) | 278 switch (_state) |
| 279 { | 279 { |
| 280 case STATE_START: | 280 case STATE_START: |
| 281 _contentLength=HttpTokens.UNKNOWN_CONTENT; | 281 _contentLength = HttpTokens.UNKNOWN_CONTENT; |
| 282 _cached=null; | 282 _cached = null; |
| 283 if (ch > HttpTokens.SPACE || ch<0) | 283 if (ch > HttpTokens.SPACE || ch<0) |
| 284 { | 284 { |
| 285 _buffer.mark(); | 285 _buffer.mark(); |
| 286 _state=STATE_FIELD0; | 286 _state=STATE_FIELD0; |
| 287 } | 287 } |
| 434 default: | 434 default: |
| 435 { | 435 { |
| 436 // handler last header if any | 436 // handler last header if any |
| 437 if (_cached!=null || _tok0.length() > 0 || _tok1.length() > 0 || _multiLineValue != null) | 437 if (_cached!=null || _tok0.length() > 0 || _tok1.length() > 0 || _multiLineValue != null) |
| 438 { | 438 { |
| 439 Buffer header=_cached!=null?_cached:HttpHeaders.CACHE.lookup(_tok0); | 439 String header = _cached!=null?_cached.toString():_tok0; |
| 440 _cached=null; | 440 _cached = null; |
| 441 String value = _multiLineValue == null ? _tok1.toString() : _multiLineValue; | 441 String value = _multiLineValue == null ? _tok1.toString() : _multiLineValue; |
| 442 | 442 |
| 443 int ho=HttpHeaders.CACHE.getOrdinal(header); | 443 int ho = HttpHeaders.CACHE.getOrdinal(header); |
| 444 if (ho >= 0) | 444 if (ho >= 0) |
| 445 { | 445 { |
| 446 int vo; | 446 int vo; |
| 447 | 447 |
| 448 switch (ho) | 448 switch (ho) |
| 573 return 1; | 573 return 1; |
| 574 } | 574 } |
| 575 else | 575 else |
| 576 { | 576 { |
| 577 // New header | 577 // New header |
| 578 _length=1; | 578 _length = 1; |
| 579 _buffer.mark(); | 579 _buffer.mark(); |
| 580 _state=STATE_HEADER_NAME; | 580 _state = STATE_HEADER_NAME; |
| 581 | 581 |
| 582 // try cached name! | 582 // try cached name! |
| 583 if (array!=null) | 583 if (array!=null) |
| 584 { | 584 { |
| 585 _cached=HttpHeaders.CACHE.getBest(array, _buffer.markIndex(), length+1); | 585 _cached = HttpHeaders.CACHE.getBest(array, _buffer.markIndex(), length+1); |
| 586 | 586 |
| 587 if (_cached!=null) | 587 if (_cached!=null) |
| 588 { | 588 { |
| 589 _length=_cached.length(); | 589 _length = _cached.length(); |
| 590 _buffer.setGetIndex(_buffer.markIndex()+_length); | 590 _buffer.setGetIndex(_buffer.markIndex()+_length); |
| 591 length=_buffer.length(); | 591 length = _buffer.length(); |
| 592 } | 592 } |
| 593 } | 593 } |
| 594 } | 594 } |
| 595 } | 595 } |
| 596 } | 596 } |
| 624 case HttpTokens.SPACE: | 624 case HttpTokens.SPACE: |
| 625 case HttpTokens.TAB: | 625 case HttpTokens.TAB: |
| 626 break; | 626 break; |
| 627 default: | 627 default: |
| 628 { | 628 { |
| 629 _cached=null; | 629 _cached = null; |
| 630 if (_length == -1) | 630 if (_length == -1) |
| 631 _buffer.mark(); | 631 _buffer.mark(); |
| 632 _length=_buffer.getIndex() - _buffer.markIndex(); | 632 _length=_buffer.getIndex() - _buffer.markIndex(); |
| 633 _state=STATE_HEADER_IN_NAME; | 633 _state=STATE_HEADER_IN_NAME; |
| 634 } | 634 } |
| 664 case HttpTokens.TAB: | 664 case HttpTokens.TAB: |
| 665 _state=STATE_HEADER_NAME; | 665 _state=STATE_HEADER_NAME; |
| 666 break; | 666 break; |
| 667 default: | 667 default: |
| 668 { | 668 { |
| 669 _cached=null; | 669 _cached = null; |
| 670 _length++; | 670 _length++; |
| 671 } | 671 } |
| 672 } | 672 } |
| 673 break; | 673 break; |
| 674 | 674 |
| 1140 public void messageComplete(long contentLength) throws IOException; | 1140 public void messageComplete(long contentLength) throws IOException; |
| 1141 | 1141 |
| 1142 /** | 1142 /** |
| 1143 * This is the method called by parser when a HTTP Header name and value is found | 1143 * This is the method called by parser when a HTTP Header name and value is found |
| 1144 */ | 1144 */ |
| 1145 public void parsedHeader(Buffer name, String value) throws IOException; | 1145 public void parsedHeader(String name, String value) throws IOException; |
| 1146 | 1146 |
| 1147 /** | 1147 /** |
| 1148 * This is the method called by parser when the HTTP request line is parsed | 1148 * This is the method called by parser when the HTTP request line is parsed |
| 1149 */ | 1149 */ |
| 1150 public abstract void startRequest(String method, Buffer url, String version) | 1150 public abstract void startRequest(String method, Buffer url, String version) |
