// Path: core/src/main/java/io/appflate/restmock/logging/NOOpLogger.java
// public class NOOpLogger implements RESTMockLogger {
// 
//     @Override
//     public void log(String message) {
//         //intentionally empty
//     }
// 
//     @Override
//     public void error(String errorMessage) {
//         //intentionally empty
//     }
// 
//     @Override
//     public void error(String errorMessage, Throwable exception) {
//         //intentionally empty
//     }
// }
// 
// Path: core/src/main/java/io/appflate/restmock/logging/RESTMockLogger.java
// public interface RESTMockLogger {
// 
//     void log(String message);
// 
//     void error(String errorMessage);
// 
//     void error(String errorMessage, Throwable exception);
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isDELETE() {
//     return httpMethodIs("DELETE");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isGET() {
//     return httpMethodIs("GET");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isHEAD() {
//     return httpMethodIs("HEAD");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isPATCH() {
//     return httpMethodIs("PATCH");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isPOST() {
//     return httpMethodIs("POST");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isPUT() {
//     return httpMethodIs("PUT");
// }


import static io.appflate.restmock.utils.RequestMatchers.isPUT;
import static org.hamcrest.core.AllOf.allOf;
import io.appflate.restmock.logging.NOOpLogger;
import io.appflate.restmock.logging.RESTMockLogger;
import java.io.IOException;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
import okhttp3.mockwebserver.MockWebServer;
import okhttp3.mockwebserver.RecordedRequest;
import org.hamcrest.Matcher;
import static io.appflate.restmock.utils.RequestMatchers.isDELETE;
import static io.appflate.restmock.utils.RequestMatchers.isGET;
import static io.appflate.restmock.utils.RequestMatchers.isHEAD;
import static io.appflate.restmock.utils.RequestMatchers.isPATCH;
import static io.appflate.restmock.utils.RequestMatchers.isPOST;
/*
 * Copyright (C) 2016 Appflate.io
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.appflate.restmock;



@SuppressWarnings("unused")
public class RESTMockServer {

    public static final String RESPONSE_NOT_MOCKED = "NOT MOCKED";
    public static final String MORE_THAN_ONE_RESPONSE_ERROR = "There are more than one response matching this request: ";
    static MockWebServer mockWebServer;
    static MatchableCallsRequestDispatcher dispatcher;
    private static String serverBaseUrl;
    private static RESTMockFileParser RESTMockFileParser;
// Path: core/src/main/java/io/appflate/restmock/logging/NOOpLogger.java
// public class NOOpLogger implements RESTMockLogger {
// 
//     @Override
//     public void log(String message) {
//         //intentionally empty
//     }
// 
//     @Override
//     public void error(String errorMessage) {
//         //intentionally empty
//     }
// 
//     @Override
//     public void error(String errorMessage, Throwable exception) {
//         //intentionally empty
//     }
// }
// 
// Path: core/src/main/java/io/appflate/restmock/logging/RESTMockLogger.java
// public interface RESTMockLogger {
// 
//     void log(String message);
// 
//     void error(String errorMessage);
// 
//     void error(String errorMessage, Throwable exception);
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isDELETE() {
//     return httpMethodIs("DELETE");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isGET() {
//     return httpMethodIs("GET");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isHEAD() {
//     return httpMethodIs("HEAD");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isPATCH() {
//     return httpMethodIs("PATCH");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isPOST() {
//     return httpMethodIs("POST");
// }
// 
// Path: core/src/main/java/io/appflate/restmock/utils/RequestMatchers.java
// public static RequestMatcher isPUT() {
//     return httpMethodIs("PUT");
// }


// Path: core/src/main/java/io/appflate/restmock/RESTMockServer.java
import static io.appflate.restmock.utils.RequestMatchers.isPUT;
import static org.hamcrest.core.AllOf.allOf;
import io.appflate.restmock.logging.NOOpLogger;
import io.appflate.restmock.logging.RESTMockLogger;
import java.io.IOException;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
import okhttp3.mockwebserver.MockWebServer;
import okhttp3.mockwebserver.RecordedRequest;
import org.hamcrest.Matcher;
import static io.appflate.restmock.utils.RequestMatchers.isDELETE;
import static io.appflate.restmock.utils.RequestMatchers.isGET;
import static io.appflate.restmock.utils.RequestMatchers.isHEAD;
import static io.appflate.restmock.utils.RequestMatchers.isPATCH;
import static io.appflate.restmock.utils.RequestMatchers.isPOST;

/*
 * Copyright (C) 2016 Appflate.io
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.appflate.restmock;



@SuppressWarnings("unused")
public class RESTMockServer {

    public static final String RESPONSE_NOT_MOCKED = "NOT MOCKED";
    public static final String MORE_THAN_ONE_RESPONSE_ERROR = "There are more than one response matching this request: ";
    static MockWebServer mockWebServer;
    static MatchableCallsRequestDispatcher dispatcher;
    private static String serverBaseUrl;
    private static RESTMockFileParser RESTMockFileParser;
    private static RESTMockLogger logger = new NOOpLogger();