Home | History | Annotate | Download | only in webdav
      1 //
      2 //  ========================================================================
      3 //  Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd.
      4 //  ------------------------------------------------------------------------
      5 //  All rights reserved. This program and the accompanying materials
      6 //  are made available under the terms of the Eclipse Public License v1.0
      7 //  and Apache License v2.0 which accompanies this distribution.
      8 //
      9 //      The Eclipse Public License is available at
     10 //      http://www.eclipse.org/legal/epl-v10.html
     11 //
     12 //      The Apache License v2.0 is available at
     13 //      http://www.opensource.org/licenses/apache2.0.php
     14 //
     15 //  You may elect to redistribute this code under either of these licenses.
     16 //  ========================================================================
     17 //
     18 
     19 package org.eclipse.jetty.client.webdav;
     20 
     21 import java.io.IOException;
     22 
     23 import org.eclipse.jetty.client.CachedExchange;
     24 import org.eclipse.jetty.http.HttpStatus;
     25 import org.eclipse.jetty.io.Buffer;
     26 import org.eclipse.jetty.util.log.Log;
     27 import org.eclipse.jetty.util.log.Logger;
     28 
     29 
     30 public class MkcolExchange extends CachedExchange
     31 {
     32     private static final Logger LOG = Log.getLogger(MkcolExchange.class);
     33 
     34     boolean exists = false;
     35 
     36     public MkcolExchange()
     37     {
     38         super(true);
     39     }
     40 
     41     /* ------------------------------------------------------------ */
     42     @Override
     43     protected void onResponseStatus(Buffer version, int status, Buffer reason) throws IOException
     44     {
     45         if ( status == HttpStatus.CREATED_201 )
     46         {
     47             LOG.debug( "MkcolExchange:Status: Successfully created resource" );
     48             exists = true;
     49         }
     50 
     51         if ( status == HttpStatus.METHOD_NOT_ALLOWED_405 ) // returned when resource exists
     52         {
     53             LOG.debug( "MkcolExchange:Status: Resource must exist" );
     54             exists = true;
     55         }
     56 
     57         super.onResponseStatus(version, status, reason);
     58     }
     59 
     60     public boolean exists()
     61     {
     62         return exists;
     63     }
     64 }
     65