Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Immutable HttpFields and MetaData #4777

Merged
merged 45 commits into from
Apr 28, 2020
Merged

Commits on Apr 15, 2020

  1. Immutable version of HttpFields

    Preserve API and usage of HttpFields class while providing a read only interface and immutable implementation.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 15, 2020
    Configuration menu
    Copy the full SHA
    e37a34c View commit details
    Browse the repository at this point in the history
  2. Immutable version of HttpFields

    Use an ArrayList in HttpFields. While slightly slower than the array, it will mostly be used as a builder pattern for an Immutable
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 15, 2020
    Configuration menu
    Copy the full SHA
    75df043 View commit details
    Browse the repository at this point in the history
  3. Immutable version of HttpFields

    Fixed exception type.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 15, 2020
    Configuration menu
    Copy the full SHA
    753e02c View commit details
    Browse the repository at this point in the history
  4. Immutable version of HttpFields

    asImmutable method
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 15, 2020
    Configuration menu
    Copy the full SHA
    53bf5a5 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2020

  1. Immutable MetaData

    Made HttpURIU immutable with a builder pattern.
    MetaData immutable and working within http module.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 16, 2020
    Configuration menu
    Copy the full SHA
    d9837d9 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData

    Fixes from review
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 16, 2020
    Configuration menu
    Copy the full SHA
    f2f08e5 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2020

  1. Immutable MetaData

    Passing tests upto and including jetty-server
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 17, 2020
    Configuration menu
    Copy the full SHA
    8d5b036 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData

    Cleanup of HttpURI.Builder API as suggested in PR.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 17, 2020
    Configuration menu
    Copy the full SHA
    8de4fb6 View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData

    Added builder for MetaData.Request
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 17, 2020
    Configuration menu
    Copy the full SHA
    c1010f3 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2020

  1. Configuration menu
    Copy the full SHA
    1bb6ba4 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData

    more api fixes
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 18, 2020
    Configuration menu
    Copy the full SHA
    c0b98a3 View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData

    WIP making HttpFiels itself immutable.  Currently working up to jetty-servlet.
    
    Need to consider if content-length really is meta data and how much and when can we trust it.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 18, 2020
    Configuration menu
    Copy the full SHA
    4c334e8 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2020

  1. Immutable MetaData

    WIP
    
    Need to consider if content-length really is meta data and how much and when can we trust it. Also need to consider difference between h2 and h1 authority in metadata.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 19, 2020
    Configuration menu
    Copy the full SHA
    23bcdd2 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData WIP

    jetty-client and jetty-servlet passing tests.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 19, 2020
    Configuration menu
    Copy the full SHA
    a953f42 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2020

  1. Immutable MetaData WIP

    Better align the style of immutability between `HttpFields` and `HttpURI`.
    They both now have static build() and from() methods, plus Builder and Immutable implementations.
    Potentially `Builder` could be renamed as `Mutable`
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    fb81db1 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData WIP

    http2-server tests passed
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    372455a View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData WIP

    http2-client tests passed
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    58e458c View commit details
    Browse the repository at this point in the history
  4. Immutable MetaData WIP

    cleann build?
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    0215268 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    90aae8b View commit details
    Browse the repository at this point in the history
  6. Immutable MetaData WIP

    fix
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    c23ea62 View commit details
    Browse the repository at this point in the history
  7. Immutable MetaData WIP

    more test fixes
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    cf6df85 View commit details
    Browse the repository at this point in the history
  8. Immutable MetaData WIP

    Cleanups, mostly using EMPTY when appropriate.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    e8617da View commit details
    Browse the repository at this point in the history
  9. Immutable MetaData WIP

    Cleanups, use immutable
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 20, 2020
    Configuration menu
    Copy the full SHA
    a2d05a1 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2020

  1. Immutable MetaData WIP

    No trailers for connect
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 21, 2020
    Configuration menu
    Copy the full SHA
    f6387a0 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData WIP

    Fix CONNECT path handling
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 21, 2020
    Configuration menu
    Copy the full SHA
    d1b62c7 View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData WIP

    fixed rewrite query handling
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 21, 2020
    Configuration menu
    Copy the full SHA
    79c453b View commit details
    Browse the repository at this point in the history
  4. Immutable MetaData WIP

    rename Builders to Muttables
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 21, 2020
    Configuration menu
    Copy the full SHA
    8943b9b View commit details
    Browse the repository at this point in the history
  5. Immutable MetaData WIP

    misc cleanups
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 21, 2020
    Configuration menu
    Copy the full SHA
    89aa969 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2020

  1. Configuration menu
    Copy the full SHA
    0ac9421 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData WIP

    Revert to using arrays due to garbage generated by streams and iterators (12% of a simple benchmark!).
    Even if this garbage is an artifact of the JIT being disabled by observation, it can hide other allocations, so best to just use simple arrays!
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 22, 2020
    Configuration menu
    Copy the full SHA
    915f324 View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData WIP

    More optimizations and better test coverage.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 22, 2020
    Configuration menu
    Copy the full SHA
    3de51af View commit details
    Browse the repository at this point in the history
  4. Immutable Metadata

    various cleanups
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 22, 2020
    Configuration menu
    Copy the full SHA
    dd154dd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3c5e8b6 View commit details
    Browse the repository at this point in the history
  6. Immutable MetaData WIP

    More optimizations
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 22, 2020
    Configuration menu
    Copy the full SHA
    3749a5c View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2020

  1. Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-…

    …ImmutableMetaData
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 23, 2020
    Configuration menu
    Copy the full SHA
    5971476 View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData WIP

    review changes
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 23, 2020
    Configuration menu
    Copy the full SHA
    fa86645 View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData WIP

    changes after review:
     + less usage of Mutable
     + more usage of EMPTY
     + restored fragment handling
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 23, 2020
    Configuration menu
    Copy the full SHA
    c71cb54 View commit details
    Browse the repository at this point in the history
  4. Immutable MetaData WIP

    changes after review:
     + less usage of Mutable
     + less usage of asImmutable
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 23, 2020
    Configuration menu
    Copy the full SHA
    1fe4169 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2020

  1. Immutable MetaData WIP

    changes after review:
     + less usage of Mutable
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 24, 2020
    Configuration menu
    Copy the full SHA
    9e9274f View commit details
    Browse the repository at this point in the history
  2. Immutable MetaData

    changes after review:
     + better handling of URI in ContextHandler
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 24, 2020
    Configuration menu
    Copy the full SHA
    1abe2c7 View commit details
    Browse the repository at this point in the history
  3. Immutable MetaData

    changes after review:
     + downcast in test to access mutable response headers.
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 24, 2020
    Configuration menu
    Copy the full SHA
    ad82672 View commit details
    Browse the repository at this point in the history
  4. Immutable MetaData

    changes after review:
     + use put instead of add for one time headers
    
    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 24, 2020
    Configuration menu
    Copy the full SHA
    ec9224d View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2020

  1. private

    Signed-off-by: Greg Wilkins <gregw@webtide.com>
    gregw committed Apr 27, 2020
    Configuration menu
    Copy the full SHA
    5817a1a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ac3cb3c View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2020

  1. Configuration menu
    Copy the full SHA
    79bb9f7 View commit details
    Browse the repository at this point in the history