Netflix/zuul — pull request #46 by benjchristensen (2014-08-28 04:14:39+00:00)
Title: Reorg of Packages and Class Names

Proposal for new package structure and naming conventions to make code easier to understand.

- Move all filters into `com.netflix.zuul.filter`
- Move all filter stores into `com.netflix.zuul.filterstore`
- Move business logic into `com.netflix.zuul.lifecycle`
- Leave only bootstrap classes in `com.netflix.zuul` so its obvious when looking at the code what the starting point is
- the `ZuulRxNettyServer` code will go away at some point ... likely `ZuulKaryonServer` will blend into `ZuulServer` so we only have 3 classes in there instead of the current 5
- Change name of filters to Computation/IO is at the end of the name so that alphabetically sorted we see the types of filters. It seems more important to see the filter types and then pick which one is wanted. I could be argued out of this, but I prefer seeing a list like this:

```
ErrorFilter.java
ErrorFilterComputation.java
ErrorFilterIO.java
Filter.java
FilterComputation.java
FilterIO.java
PostFilter.java
PostFilterIO.java
PostFilterSynchronous.java
PreFilter.java
PreFilterIO.java
PreFilterSynchronous.java
ProcessingFilter.java
RouteFilter.java
RouteFilterComputation.java
RouteFilterIO.java
```

Open Question

Should we use Computation and IO, or something else?

- Sync/Async
- Synchronous/Asynchronous
- Blocking/NonBlocking

```
ErrorFilter.java
ErrorFilterSync.java
ErrorFilterAsync.java
Filter.java
FilterSync.java
FilterAsync.java
PostFilter.java
PostFilterAsync.java
PostFilterSync.java
PreFilter.java
PreFilterAsync.java
PreFilterSync.java
ProcessingFilter.java
RouteFilter.java
RouteFilterSync.java
RouteFilterAsync.java
```

or

```
ErrorFilter.java
ErrorFilterBlocking.java
ErrorFilterNonBlocking.java
Filter.java
FilterBlocking.java
FilterNonBlocking.java
PostFilter.java
PostFilterNonBlocking.java
PostFilterBlocking.java
PreFilter.java
PreFilterNonBlocking.java
PreFilterBlocking.java
ProcessingFilter.java
RouteFilter.java
RouteFilterBlocking.java
RouteFilterNonBlocking.java
```