You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Marco Massenzio <ma...@mesosphere.io> on 2015/07/01 01:30:41 UTC

Re: Review Request 36037: Adding /call endpoint to Master

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36037/#review89977
-----------------------------------------------------------


This looks good, Isabel!
Just a few nits about error messages and my being obsessive about Error codes and Response types (HTTP has been around a while, and people have come to expect APIs to behave in a certain way).


src/master/http.cpp (line 297)
<https://reviews.apache.org/r/36037/#comment142886>

    from what little I've seen in the codebase, we use the leading underscore for "continuation" methods, is this such a method?
    
    If so, can we please make sure that we have the `validate()` method next to it?



src/master/http.cpp (lines 308 - 309)
<https://reviews.apache.org/r/36037/#comment142887>

    I really really dislike hard-coded strings sprinkled all over the code (I'm sure you will need them elsewhere: if not now, soon :)
    
    Can we please collect them in some "well-known" place? 
    there is a constants.cpp file or we can have a "specialized" http_constants.cpp one (preferred).
    
    Bottom line: please avoid hard-coded constants (especially for commonly-used, well-known strings)



src/master/http.cpp (line 311)
<https://reviews.apache.org/r/36037/#comment142889>

    is the indent off?



src/master/http.cpp (line 313)
<https://reviews.apache.org/r/36037/#comment142890>

    bad error message - we should state that 
    ```
    Only `keep-alive` connection header allowed
    ```
    or something to that effect



src/master/http.cpp (line 315)
<https://reviews.apache.org/r/36037/#comment142891>

    this is surprising - please make sure to add a comment so that people won't expect `Some(response)` here...



src/master/http.cpp (line 331)
<https://reviews.apache.org/r/36037/#comment142892>

    this should be a
    405 Method Not Allowed
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6
    
    we could also emit a better error message:
    ```
    return MethodNotAllowed("Only POST allowed, received " + request.method + " instead");
    ```



src/master/http.cpp (line 339)
<https://reviews.apache.org/r/36037/#comment142893>

    a better name would be contentType



src/master/http.cpp (line 342)
<https://reviews.apache.org/r/36037/#comment142894>

    capitalize the header name in the message too.



src/master/http.cpp (line 366)
<https://reviews.apache.org/r/36037/#comment142895>

    this should be a 415 (unsupported media type)
    see ref URL above
    also: emit the content type you received in the error message as a courtesy to your users:
    ```
    "Unsupported '" + contentType.get() + "' Content-Type; please only use application/json or application/x-protobuf"
    ```
    or something to that effect.



src/tests/call_tests.cpp (line 98)
<https://reviews.apache.org/r/36037/#comment142904>

    can we possibly check on just getting a "type" of response (and not on the actual message)?
    that would be a better check, so we won't fail tests just because we fix typos in messages :)


- Marco Massenzio


On June 30, 2015, 9:07 a.m., Isabel Jimenez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36037/
> -----------------------------------------------------------
> 
> (Updated June 30, 2015, 9:07 a.m.)
> 
> 
> Review request for mesos, Anand Mazumdar, Benjamin Hindman, Ben Mahler, Marco Massenzio, and Vinod Kone.
> 
> 
> Bugs: MESOS-2860
>     https://issues.apache.org/jira/browse/MESOS-2860
> 
> 
> Repository: mesos-incubating
> 
> 
> Description
> -------
> 
> Adding a call route with HTTP request header validations
> 
> 
> Diffs
> -----
> 
>   src/master/http.cpp 3503833 
>   src/master/master.hpp af83d3e 
>   src/master/master.cpp 0782b54 
>   src/tests/call_tests.cpp PRE-CREATION 
>   src/tests/mesos.hpp 9157ac0 
> 
> Diff: https://reviews.apache.org/r/36037/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Isabel Jimenez
> 
>