> On Aug. 1, 2016, 6:57 p.m., David McLaughlin wrote: > > Approach seems fine to me, with the exception that we need to maintain > > backwards compatibility by assuming the existing behavior when no > > content-type is specified in the request. > > Jake Farrell wrote: > +1, easy enough to use the mime type and default back current known > behavior if not specified
Done. - Zameer ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/50685/#review144439 ----------------------------------------------------------- On Aug. 1, 2016, 6:29 p.m., Zameer Manji wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/50685/ > ----------------------------------------------------------- > > (Updated Aug. 1, 2016, 6:29 p.m.) > > > Review request for Aurora, Joshua Cohen, Maxim Khutornenko, and Dmitriy > Shirchenko. > > > Bugs: AURORA-1743 > https://issues.apache.org/jira/browse/AURORA-1743 > > > Repository: aurora > > > Description > ------- > > This replaces the `TServlet` servlet from thrift with our own servlet which > dispatches thrift responses based on the content type of the request. This > enables a client to use either the thrift json protocol or the binary > protocol when communicating with the scheduler. > > Without this patch the current behaviour is: > - Regardless of content type of the request, assume the request is json and > return json with a `application/x-thrift` content type. > > With this patch the behaviour becomes: > - A missing content type in the request results in a HTTP 400 response. > - A request with a content type of `application/x-thrift` is assumed to be > json and returns json with a `application/vnd.apache.thrift.json` content > type. This maintains backwards compatability with the client. > - A request with a content type of `application/json` returns json with a > `application/vnd.apache.thrift.json` content type. This maintains backwards > compatability with the AJAX UI. > - A request with a content type of `application/vnd.apache.thrift.json` > returns json with a `application/vnd.apache.thrift.json` content type. > - A request with a content type of `application/vnd.apache.thrift.binary` > returns binary thrift with a `application/vnd.apache.thrift.json` content > type. > - Any other content type in a request results in a HTTP 400 response. > > > Diffs > ----- > > src/main/java/org/apache/aurora/scheduler/http/api/ApiModule.java > cd5adf9655dc3368dbe06bfee15c65182176be2e > > src/main/java/org/apache/aurora/scheduler/http/api/TContentAwareServlet.java > PRE-CREATION > src/test/java/org/apache/aurora/scheduler/http/api/ApiIT.java > 31f5cb3bed48eef60c3b2becb2ed285e93f2bd5a > > src/test/java/org/apache/aurora/scheduler/http/api/TContentAwareServletTest.java > PRE-CREATION > > Diff: https://reviews.apache.org/r/50685/diff/ > > > Testing > ------- > > > Thanks, > > Zameer Manji > >