Changeset 5415


Ignore:
Timestamp:
06/30/14 22:41:52 (10 years ago)
Author:
Oliver Schonefeld
Message:
  • remove IP filter
Location:
OAIProvider/trunk/src/main/java/eu/clarin/oai/provider/impl
Files:
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • OAIProvider/trunk/src/main/java/eu/clarin/oai/provider/impl/OAIProvider.java

    r1926 r5415  
    3838    private Timer timer = new Timer("OAI-Provider-Maintenance", true);
    3939    private AtomicBoolean isAvailable = new AtomicBoolean(true);
    40     private IPFilter ipfilter = new IPFilter();
    4140    private RepositoryAdapter repository;
    4241
     
    4544            throw new NullPointerException("repository == null");
    4645        }
    47        
     46
    4847        // register basic verbs
    4948        this.registerVerb(new VerbIdentify());
     
    7473                                i.remove();
    7574                                logger.debug("resumption token with id '{}' " +
    76                                              " expired", token.getId()); 
     75                                             " expired", token.getId());
    7776                            }
    7877                        } // synchronized (token)
     
    9190    }
    9291
    93     public IPFilter getIPFilter() {
    94         return ipfilter;
    95     }
    96 
    9792    public void shutdown() {
    9893        timer.cancel();
     
    10297            HttpServletResponse response) {
    10398        try {
    104             final String remoteAddr = request.getRemoteAddr();
    105             if (ipfilter.accept(remoteAddr)) {
    106                 try {
    107                     if (isAvailable.get()) {
    108                         doProcess(request, response);
    109                     } else {
    110                         response.setHeader("Retry-After", "3600");
    111                         sendHttpResponse(response,
    112                                 HttpServletResponse.SC_SERVICE_UNAVAILABLE,
    113                                 "The OAI provider is currently not available.");
    114                     }
    115                 } catch (OAIException e) {
    116                     logger.error("An error internal error occured", e);
    117                     sendHttpResponse(
    118                             response,
    119                             HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
    120                             "An internal error occured", e);
    121                 } catch (XMLStreamException e) {
    122                     logger.error("An error occured while serializing reponse", e);
    123                     sendHttpResponse(
    124                             response,
    125                             HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
    126                             "An error occured while serializing reponse", e);
    127                 }
    128             } else {
    129                 logger.warn("request denied for remote host {}", remoteAddr);
    130                 sendHttpResponse(response, HttpServletResponse.SC_FORBIDDEN,
    131                         "The OAI provider will not serve you.");
     99            try {
     100                if (isAvailable.get()) {
     101                    doProcess(request, response);
     102                } else {
     103                    response.setHeader("Retry-After", "3600");
     104                    sendHttpResponse(response,
     105                            HttpServletResponse.SC_SERVICE_UNAVAILABLE,
     106                            "The OAI provider is currently not available.");
     107                }
     108            } catch (OAIException e) {
     109                logger.error("An error internal error occured", e);
     110                sendHttpResponse(response,
     111                        HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
     112                        "An internal error occured", e);
     113            } catch (XMLStreamException e) {
     114                logger.error("An error occured while serializing reponse", e);
     115                sendHttpResponse(response,
     116                        HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
     117                        "An error occured while serializing reponse", e);
    132118            }
    133119        } catch (IOException e) {
     
    177163            /*
    178164             *  special handling of resumptionToken, because if it is
    179              *  available is must be the only argument. 
     165             *  available is must be the only argument.
    180166             */
    181167            if (verb.supportsArgument(DefaultArguments.ARG_RESUMPTIONTOKEN) &&
     
    302288                // remove from unhandled argument list
    303289                remaining.remove(arg.getName());
    304                
     290
    305291                // check if valid
    306292                Object parsedValue =
     
    338324    }
    339325
    340    
     326
    341327    private void sendHttpResponse(HttpServletResponse response, int status,
    342328            String message) throws IOException {
    343329        sendHttpResponse(response, status, message, null);
    344330    }
    345        
     331
    346332
    347333    private void sendHttpResponse(HttpServletResponse response, int status,
Note: See TracChangeset for help on using the changeset viewer.