You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by su...@apache.org on 2002/09/08 07:19:06 UTC

cvs commit: jakarta-commons/httpclient/src/examples PostXML.java ClientApp.java CookieDemoApp.java

sullis      2002/09/07 22:19:06

  Modified:    httpclient/src/examples PostXML.java ClientApp.java
                        CookieDemoApp.java
  Log:
  updated copyright year
  
  Revision  Changes    Path
  1.3       +140 -140  jakarta-commons/httpclient/src/examples/PostXML.java
  
  Index: PostXML.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/examples/PostXML.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PostXML.java	7 Aug 2002 04:42:57 -0000	1.2
  +++ PostXML.java	8 Sep 2002 05:19:06 -0000	1.3
  @@ -1,140 +1,140 @@
  -/*
  - * $Header$
  - * $Revision$
  - * $Date$
  - * 
  - * ====================================================================
  - *
  - * The Apache Software License, Version 1.1
  - *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights
  - * reserved.
  - *
  - * Redistribution and use in source and binary forms, with or without
  - * modification, are permitted provided that the following conditions
  - * are met:
  - *
  - * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer.
  - *
  - * 2. Redistributions in binary form must reproduce the above copyright
  - *    notice, this list of conditions and the following disclaimer in
  - *    the documentation and/or other materials provided with the
  - *    distribution.
  - *
  - * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:
  - *       "This product includes software developed by the
  - *        Apache Software Foundation (http://www.apache.org/)."
  - *    Alternately, this acknowlegement may appear in the software itself,
  - *    if and wherever such third-party acknowlegements normally appear.
  - *
  - * 4. The names "The Jakarta Project", "HttpClient", and "Apache Software
  - *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written
  - *    permission, please contact apache@apache.org.
  - *
  - * 5. Products derived from this software may not be called "Apache"
  - *    nor may "Apache" appear in their names without prior written
  - *    permission of the Apache Group.
  - *
  - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  - * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  - * SUCH DAMAGE.
  - * ====================================================================
  - *
  - * This software consists of voluntary contributions made by many
  - * individuals on behalf of the Apache Software Foundation.  For more
  - * information on the Apache Software Foundation, please see
  - * <http://www.apache.org/>.
  - *
  - * [Additional notices, if required by prior licensing conditions]
  - *
  - */
  -
  -import org.apache.commons.httpclient.*;
  -import org.apache.commons.httpclient.methods.*;
  -import java.io.*;
  -import java.net.URL;
  -
  -/**
  - * 
  - * This is a sample application that demonstrates
  - * how to use the Jakarta HttpClient API. 
  - * 
  - * This application sends an XML document 
  - * to a remote web server using HTTP POST
  - * 
  - * @author Sean C. Sullivan
  - *
  - */
  -public class PostXML 
  -{
  -
  -    /**
  -     *  
  -     * Usage:
  -     *          java PostXML http://mywebserver:80/ c:\foo.xml
  -     * 
  -     *  @param args command line arguments
  -     *                 Argument 0 is a URL to a web server
  -     *                 Argument 1 is a local filename
  -     * 
  -     */
  -	public static void main(String[] args) throws Exception
  -	{
  -		if (args.length != 2)
  -		{
  -			System.err.println("missing command line arguments");
  -			System.exit(1);
  -		}
  -		
  -		String strURL = args[0];
  -		
  -		URL u = new URL(strURL);
  -		
  -		String strXMLFilename = args[1];
  -
  -		InputStream input = null;
  -		
  -		input = new FileInputStream(strXMLFilename);
  -
  -		PostMethod post = new PostMethod();
  -
  -		post.setRequestBody(input);
  -		
  -		if ( (u.getPath() == null) || (u.getPath().length() == 0) )
  -		{
  -			post.setPath("/");
  -		}
  -		else
  -		{
  -			post.setPath(u.getPath());
  -		}
  -		post.setRequestHeader("Content-type", "text/xml");
  -				
  -		HttpClient hc = new HttpClient();
  -		hc.startSession(u);
  -		
  -		int iResultCode = hc.executeMethod(post);
  -		
  -		System.out.println("iResultCode = " + iResultCode);
  -
  -		byte[] yaResponse = post.getResponseBody();
  -		
  -		System.out.println("Server response:");
  -		
  -		System.out.println( new String(yaResponse) );
  -
  -		hc.endSession();
  -	}
  -}
  +/*
  + * $Header$
  + * $Revision$
  + * $Date$
  + * 
  + * ====================================================================
  + *
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2002 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowlegement may appear in the software itself,
  + *    if and wherever such third-party acknowlegements normally appear.
  + *
  + * 4. The names "The Jakarta Project", "HttpClient", and "Apache Software
  + *    Foundation" must not be used to endorse or promote products derived
  + *    from this software without prior written permission. For written
  + *    permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache"
  + *    nor may "Apache" appear in their names without prior written
  + *    permission of the Apache Group.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + *
  + * [Additional notices, if required by prior licensing conditions]
  + *
  + */
  +
  +import org.apache.commons.httpclient.*;
  +import org.apache.commons.httpclient.methods.*;
  +import java.io.*;
  +import java.net.URL;
  +
  +/**
  + * 
  + * This is a sample application that demonstrates
  + * how to use the Jakarta HttpClient API. 
  + * 
  + * This application sends an XML document 
  + * to a remote web server using HTTP POST
  + * 
  + * @author Sean C. Sullivan
  + *
  + */
  +public class PostXML 
  +{
  +
  +    /**
  +     *  
  +     * Usage:
  +     *          java PostXML http://mywebserver:80/ c:\foo.xml
  +     * 
  +     *  @param args command line arguments
  +     *                 Argument 0 is a URL to a web server
  +     *                 Argument 1 is a local filename
  +     * 
  +     */
  +	public static void main(String[] args) throws Exception
  +	{
  +		if (args.length != 2)
  +		{
  +			System.err.println("missing command line arguments");
  +			System.exit(1);
  +		}
  +		
  +		String strURL = args[0];
  +		
  +		URL u = new URL(strURL);
  +		
  +		String strXMLFilename = args[1];
  +
  +		InputStream input = null;
  +		
  +		input = new FileInputStream(strXMLFilename);
  +
  +		PostMethod post = new PostMethod();
  +
  +		post.setRequestBody(input);
  +		
  +		if ( (u.getPath() == null) || (u.getPath().length() == 0) )
  +		{
  +			post.setPath("/");
  +		}
  +		else
  +		{
  +			post.setPath(u.getPath());
  +		}
  +		post.setRequestHeader("Content-type", "text/xml");
  +				
  +		HttpClient hc = new HttpClient();
  +		hc.startSession(u);
  +		
  +		int iResultCode = hc.executeMethod(post);
  +		
  +		System.out.println("iResultCode = " + iResultCode);
  +
  +		byte[] yaResponse = post.getResponseBody();
  +		
  +		System.out.println("Server response:");
  +		
  +		System.out.println( new String(yaResponse) );
  +
  +		hc.endSession();
  +	}
  +}
  
  
  
  1.7       +14 -7     jakarta-commons/httpclient/src/examples/ClientApp.java
  
  Index: ClientApp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/examples/ClientApp.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ClientApp.java	2 Sep 2002 21:27:27 -0000	1.6
  +++ ClientApp.java	8 Sep 2002 05:19:06 -0000	1.7
  @@ -7,7 +7,7 @@
    *
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights
  + * Copyright (c) 2002 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -167,17 +167,24 @@
   								{
   									HttpClient client = new HttpClient();
   									GetMethod get = new GetMethod();
  +									HeadMethod head = new HeadMethod();
   									client.startSession(u);
   									client.setTimeout(30000 /* milliseconds */
   									);
  -									int iResultCode;
  +									int iGetResultCode;
  +									int iHeadResultCode;
   									try
   									{
  -										iResultCode = client.executeMethod(get);
  -										System.out.println(iResultCode);
  -										final String strResponseBody =
  +										iGetResultCode = client.executeMethod(get);
  +										iHeadResultCode = client.executeMethod(head);
  +										
  +										final String strGetResponseBody =
   											get.getResponseBodyAsString();
  -										if (strResponseBody != null)
  +											
  +										final String strHeadResponseBody =
  +											head.getResponseBodyAsString();
  +											
  +										if (strGetResponseBody != null)
   										{
   											Runnable r = new Runnable()
   											{
  @@ -186,7 +193,7 @@
   													panDisplay.removeAll();
   		
   													taTextResponse.setText(
  -														strResponseBody);
  +														strGetResponseBody);
   													taTextResponse.setCaretPosition(0);
   													taTextResponse.requestFocus();
   		
  
  
  
  1.3       +143 -143  jakarta-commons/httpclient/src/examples/CookieDemoApp.java
  
  Index: CookieDemoApp.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/examples/CookieDemoApp.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CookieDemoApp.java	8 Aug 2002 01:24:30 -0000	1.2
  +++ CookieDemoApp.java	8 Sep 2002 05:19:06 -0000	1.3
  @@ -1,143 +1,143 @@
  -/*
  - * $Header$
  - * $Revision$
  - * $Date$
  - * 
  - * ====================================================================
  - *
  - * The Apache Software License, Version 1.1
  - *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights
  - * reserved.
  - *
  - * Redistribution and use in source and binary forms, with or without
  - * modification, are permitted provided that the following conditions
  - * are met:
  - *
  - * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer.
  - *
  - * 2. Redistributions in binary form must reproduce the above copyright
  - *    notice, this list of conditions and the following disclaimer in
  - *    the documentation and/or other materials provided with the
  - *    distribution.
  - *
  - * 3. The end-user documentation included with the redistribution, if
  - *    any, must include the following acknowlegement:
  - *       "This product includes software developed by the
  - *        Apache Software Foundation (http://www.apache.org/)."
  - *    Alternately, this acknowlegement may appear in the software itself,
  - *    if and wherever such third-party acknowlegements normally appear.
  - *
  - * 4. The names "The Jakarta Project", "HttpClient", and "Apache Software
  - *    Foundation" must not be used to endorse or promote products derived
  - *    from this software without prior written permission. For written
  - *    permission, please contact apache@apache.org.
  - *
  - * 5. Products derived from this software may not be called "Apache"
  - *    nor may "Apache" appear in their names without prior written
  - *    permission of the Apache Group.
  - *
  - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  - * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  - * SUCH DAMAGE.
  - * ====================================================================
  - *
  - * This software consists of voluntary contributions made by many
  - * individuals on behalf of the Apache Software Foundation.  For more
  - * information on the Apache Software Foundation, please see
  - * <http://www.apache.org/>.
  - *
  - * [Additional notices, if required by prior licensing conditions]
  - *
  - */
  -
  -import org.apache.commons.httpclient.*;
  -import org.apache.commons.httpclient.methods.*;
  -import java.io.*;
  -import java.net.URL;
  -
  -/**
  - * 
  - * This is a sample application that demonstrates
  - * how to use the Jakarta HttpClient API. 
  - * 
  - * This application sets an HTTP cookie and 
  - * updates the cookie's value across multiple
  - * HTTP GET requests.
  - * 
  - * @author Sean C. Sullivan
  - *
  - */
  -public class CookieDemoApp
  -{
  -	private static final String COOKIE_NAME = "count";
  -
  -    /**
  -     *  
  -     * Usage:
  -     *          java CookieDemoApp http://mywebserver:80/
  -     * 
  -     *  @param args command line arguments
  -     *                 Argument 0 is a URL to a web server
  -     *                
  -     * 
  -     */
  -	public static void main(String[] args) throws Exception
  -	{
  -		if (args.length != 1)
  -		{
  -			System.err.println("missing command line argument");
  -			System.exit(1);
  -		}
  -		
  -		String strURL = args[0];
  -		
  -		URL u = new URL(strURL);
  -		
  -		HttpState initialState = new HttpState();
  -
  -		Cookie ck = new Cookie(".foobar.com",
  -				COOKIE_NAME,
  -				"0");
  -
  -		initialState.addCookie(ck);
  -
  -		HttpClient hc = new HttpClient();
  -		
  -		hc.startSession(u);
  -
  -		hc.setTimeout(30000 /* milliseconds */);
  -		hc.setState(initialState);
  -		
  -		for (int i = 0; i < 10; i++)
  -		{
  -			GetMethod get = new GetMethod();
  -			int iResultCode = hc.executeMethod(get);
  -			HttpState state = hc.getState();
  -			Cookie[] cookies = state.getCookies();
  -			for (int k = 0; k < cookies.length; k++)
  -			{
  -				Cookie currentCookie = cookies[k];
  -				if (currentCookie.getName().equals(COOKIE_NAME))
  -				{
  -					Integer iCount = new Integer(currentCookie.getValue());
  -					System.out.println("count value is : " + iCount);
  -					int iNewCount = iCount.intValue() + 1;
  -					currentCookie.setValue("" + iNewCount);
  -				}
  -			}
  -		}
  -		
  -		hc.endSession();
  -	}
  -}
  +/*
  + * $Header$
  + * $Revision$
  + * $Date$
  + * 
  + * ====================================================================
  + *
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2002 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution, if
  + *    any, must include the following acknowlegement:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowlegement may appear in the software itself,
  + *    if and wherever such third-party acknowlegements normally appear.
  + *
  + * 4. The names "The Jakarta Project", "HttpClient", and "Apache Software
  + *    Foundation" must not be used to endorse or promote products derived
  + *    from this software without prior written permission. For written
  + *    permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache"
  + *    nor may "Apache" appear in their names without prior written
  + *    permission of the Apache Group.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + *
  + * [Additional notices, if required by prior licensing conditions]
  + *
  + */
  +
  +import org.apache.commons.httpclient.*;
  +import org.apache.commons.httpclient.methods.*;
  +import java.io.*;
  +import java.net.URL;
  +
  +/**
  + * 
  + * This is a sample application that demonstrates
  + * how to use the Jakarta HttpClient API. 
  + * 
  + * This application sets an HTTP cookie and 
  + * updates the cookie's value across multiple
  + * HTTP GET requests.
  + * 
  + * @author Sean C. Sullivan
  + *
  + */
  +public class CookieDemoApp
  +{
  +	private static final String COOKIE_NAME = "count";
  +
  +    /**
  +     *  
  +     * Usage:
  +     *          java CookieDemoApp http://mywebserver:80/
  +     * 
  +     *  @param args command line arguments
  +     *                 Argument 0 is a URL to a web server
  +     *                
  +     * 
  +     */
  +	public static void main(String[] args) throws Exception
  +	{
  +		if (args.length != 1)
  +		{
  +			System.err.println("missing command line argument");
  +			System.exit(1);
  +		}
  +		
  +		String strURL = args[0];
  +		
  +		URL u = new URL(strURL);
  +		
  +		HttpState initialState = new HttpState();
  +
  +		Cookie ck = new Cookie(".foobar.com",
  +				COOKIE_NAME,
  +				"0");
  +
  +		initialState.addCookie(ck);
  +
  +		HttpClient hc = new HttpClient();
  +		
  +		hc.startSession(u);
  +
  +		hc.setTimeout(30000 /* milliseconds */);
  +		hc.setState(initialState);
  +		
  +		for (int i = 0; i < 10; i++)
  +		{
  +			GetMethod get = new GetMethod();
  +			int iResultCode = hc.executeMethod(get);
  +			HttpState state = hc.getState();
  +			Cookie[] cookies = state.getCookies();
  +			for (int k = 0; k < cookies.length; k++)
  +			{
  +				Cookie currentCookie = cookies[k];
  +				if (currentCookie.getName().equals(COOKIE_NAME))
  +				{
  +					Integer iCount = new Integer(currentCookie.getValue());
  +					System.out.println("count value is : " + iCount);
  +					int iNewCount = iCount.intValue() + 1;
  +					currentCookie.setValue("" + iNewCount);
  +				}
  +			}
  +		}
  +		
  +		hc.endSession();
  +	}
  +}
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>