class SimpleRequest implements ServerRequest {

  private static final String ROOT = "/";

  private final HttpMethod method;
  private final String path;

  public SimpleRequest() {
    this(HttpMethod.ANY, ROOT);
  }

  public SimpleRequest(String path) {
    this(HttpMethod.ANY, path);
  }

  public SimpleRequest(HttpMethod method, String path) {
    this.method = method;
    this.path = path;
  }

  public HttpMethod getMethod() {
    return method;
  }

  public String getPath() {
    return path;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o)
      return true;
    if (o == null || getClass() != o.getClass())
      return false;

    SimpleRequest that = (SimpleRequest) o;

    if (method != that.method)
      return false;
    return path != null ? path.equals(that.path) : that.path == null;

  }

  @Override
  public int hashCode() {<FILL_FUNCTION_BODY>}
}

    int result = method != null ? method.hashCode() : 0;
    result = 31 * result + (path != null ? path.hashCode() : 0);
    return result;
  
<no_super_class>