// Path: commons/src/main/java/org/nesty/commons/constant/http/RequestMethod.java
// public enum RequestMethod {
//     GET, POST, PUT, DELETE, UNKOWN
// }
// 
// Path: core/src/main/java/org/nesty/core/server/utils/HttpUtils.java
// public class HttpUtils {
// 
//     public static RequestMethod convertHttpMethodFromNetty(FullHttpRequest request) {
//         try {
//             return RequestMethod.valueOf(request.getMethod().name().toUpperCase());
//         } catch (IllegalArgumentException | NullPointerException e) {
//             return RequestMethod.UNKOWN;
//         }
//     }
// 
//     public static String truncateUrl(String url) {
//         if (url.contains("?"))
//             url = url.substring(0, url.indexOf("?"));
//         return url;
//     }
// }


import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import org.nesty.commons.constant.http.RequestMethod;
import org.nesty.core.server.utils.HttpUtils;
import java.util.ArrayList;
import java.util.List;
    }

    public List<String> fragments() {
        return identifier.fragments;
    }

    @Override
    public String toString() {
        return identifier.toString();
    }

    @Override
    public int hashCode() {
        return identifier.hashCode();
    }

    @Override
    public boolean equals(Object other) {
        return !(other == null || !(other instanceof URLResource)) && identifier.equals(((URLResource) other).identifier);
    }

    /**
     * URLResource uniqu identifier member. used for URLResource
     * equals and hashcode id
     */
    static class URLResourceIdentifier {
        protected List<String> fragments = new ArrayList<>(64);
        protected RequestMethod requestMethod;

        public static URLResourceIdentifier analyse(String url) {
// Path: commons/src/main/java/org/nesty/commons/constant/http/RequestMethod.java
// public enum RequestMethod {
//     GET, POST, PUT, DELETE, UNKOWN
// }
// 
// Path: core/src/main/java/org/nesty/core/server/utils/HttpUtils.java
// public class HttpUtils {
// 
//     public static RequestMethod convertHttpMethodFromNetty(FullHttpRequest request) {
//         try {
//             return RequestMethod.valueOf(request.getMethod().name().toUpperCase());
//         } catch (IllegalArgumentException | NullPointerException e) {
//             return RequestMethod.UNKOWN;
//         }
//     }
// 
//     public static String truncateUrl(String url) {
//         if (url.contains("?"))
//             url = url.substring(0, url.indexOf("?"));
//         return url;
//     }
// }


// Path: core/src/main/java/org/nesty/core/server/rest/URLResource.java
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import org.nesty.commons.constant.http.RequestMethod;
import org.nesty.core.server.utils.HttpUtils;
import java.util.ArrayList;
import java.util.List;

    }

    public List<String> fragments() {
        return identifier.fragments;
    }

    @Override
    public String toString() {
        return identifier.toString();
    }

    @Override
    public int hashCode() {
        return identifier.hashCode();
    }

    @Override
    public boolean equals(Object other) {
        return !(other == null || !(other instanceof URLResource)) && identifier.equals(((URLResource) other).identifier);
    }

    /**
     * URLResource uniqu identifier member. used for URLResource
     * equals and hashcode id
     */
    static class URLResourceIdentifier {
        protected List<String> fragments = new ArrayList<>(64);
        protected RequestMethod requestMethod;

        public static URLResourceIdentifier analyse(String url) {
            url = HttpUtils.truncateUrl(url);