bool validate()

in proxygen/lib/http/codec/HTTPRequestVerifier.h [131:155]


  bool validate() {
    if (error.size()) {
      return false;
    }
    if (msg_->getMethod() == HTTPMethod::CONNECT) {
      if ((!hasUpgradeProtocol_ &&
           (!hasMethod_ || !hasAuthority_ || hasScheme_ || hasPath_)) ||
          (hasUpgradeProtocol_ && (!hasScheme_ || !hasPath_))) {
        error = folly::to<std::string>("Malformed CONNECT request m/a/s/pa/pr=",
                                       hasMethod_,
                                       hasAuthority_,
                                       hasScheme_,
                                       hasPath_,
                                       hasUpgradeProtocol_);
      }
    } else if (hasUpgradeProtocol_ || !hasMethod_ || !hasScheme_ || !hasPath_) {
      error = folly::to<std::string>("Malformed request m/a/s/pa/pr=",
                                     hasMethod_,
                                     hasAuthority_,
                                     hasScheme_,
                                     hasPath_,
                                     hasUpgradeProtocol_);
    }
    return error.empty();
  }