// Path: core/src/main/java/com/mindscapehq/raygun4java/core/messages/RaygunRequestMessageDetails.java
// public class RaygunRequestMessageDetails extends RaygunMessageDetails {
// 
//     private RaygunRequestMessage request;
//     private RaygunResponseMessage response;
// 
//     public RaygunRequestMessage getRequest() {
//         return request;
//     }
// 
//     public void setRequest(RaygunRequestMessage request) {
//         this.request = request;
//     }
// 
//     public RaygunResponseMessage getResponse() {
//         return response;
//     }
// 
//     public void setResponse(RaygunResponseMessage response) {
//         this.response = response;
//     }
// }


import com.mindscapehq.raygun4java.core.messages.RaygunRequestMessageDetails;
import java.util.Collections;
import java.util.HashSet;
package com.mindscapehq.raygun4java.core.handlers.requestfilters;



/**
 * Will filter out errors with the given http status codes
 */
public class RaygunRequestHttpStatusFilter extends RaygunExcludeRequestFilter {

    public RaygunRequestHttpStatusFilter(final Integer... excludeHttpCodes) {
        super(new ExcludeHttpCodesFilter(excludeHttpCodes));
    }

    private static class ExcludeHttpCodesFilter implements Filter {
        private HashSet<Integer> excludedCodes;
        private ExcludeHttpCodesFilter(final Integer... excludeHttpCodes) {
            excludedCodes = new HashSet<Integer>();
            Collections.addAll(excludedCodes, excludeHttpCodes);
        }

// Path: core/src/main/java/com/mindscapehq/raygun4java/core/messages/RaygunRequestMessageDetails.java
// public class RaygunRequestMessageDetails extends RaygunMessageDetails {
// 
//     private RaygunRequestMessage request;
//     private RaygunResponseMessage response;
// 
//     public RaygunRequestMessage getRequest() {
//         return request;
//     }
// 
//     public void setRequest(RaygunRequestMessage request) {
//         this.request = request;
//     }
// 
//     public RaygunResponseMessage getResponse() {
//         return response;
//     }
// 
//     public void setResponse(RaygunResponseMessage response) {
//         this.response = response;
//     }
// }


// Path: core/src/main/java/com/mindscapehq/raygun4java/core/handlers/requestfilters/RaygunRequestHttpStatusFilter.java
import com.mindscapehq.raygun4java.core.messages.RaygunRequestMessageDetails;
import java.util.Collections;
import java.util.HashSet;

package com.mindscapehq.raygun4java.core.handlers.requestfilters;



/**
 * Will filter out errors with the given http status codes
 */
public class RaygunRequestHttpStatusFilter extends RaygunExcludeRequestFilter {

    public RaygunRequestHttpStatusFilter(final Integer... excludeHttpCodes) {
        super(new ExcludeHttpCodesFilter(excludeHttpCodes));
    }

    private static class ExcludeHttpCodesFilter implements Filter {
        private HashSet<Integer> excludedCodes;
        private ExcludeHttpCodesFilter(final Integer... excludeHttpCodes) {
            excludedCodes = new HashSet<Integer>();
            Collections.addAll(excludedCodes, excludeHttpCodes);
        }

        public boolean shouldFilterOut(RaygunRequestMessageDetails requestMessage) {