play.libs
Class WS

java.lang.Object
  extended by play.PlayPlugin
      extended by play.libs.WS
All Implemented Interfaces:
java.lang.Comparable<PlayPlugin>

public class WS
extends PlayPlugin

Simple HTTP client to make webservices requests.

Get latest BBC World news as a RSS content

    HttpResponse response = WS.url("http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml").get();
    Document xmldoc = response.getXml();
    // the real pain begins here...
 

Search what Yahoo! thinks of google (starting from the 30th result).

    HttpResponse response = WS.url("http://search.yahoo.com/search?p=%s&pstart=1&b=%s", "Google killed me", "30").get();
    if( response.getStatus() == 200 ) {
       html = response.getString();
    }
 


Nested Class Summary
static class WS.FileParam
           
static class WS.HttpResponse
          An HTTP response wrapper
static class WS.Scheme
           
static interface WS.WSImpl
           
static class WS.WSRequest
           
static class WS.WSWithEncoding
          Internal class exposing all the methods previously exposed by WS.
 
Field Summary
 
Fields inherited from class play.PlayPlugin
index
 
Constructor Summary
WS()
           
 
Method Summary
static java.lang.String encode(java.lang.String part)
          URL-encode a string to be used as a query string parameter.
 void onApplicationStart()
          Called at application start (and at each reloading) Time to start stateful things.
 void onApplicationStop()
          Called at application stop (and before each reloading) Time to shutdown stateful things.
static WS.WSRequest url(java.lang.String url)
          Build a WebService Request with the given URL.
static WS.WSRequest url(java.lang.String url, java.lang.String... params)
          Build a WebService Request with the given URL.
static WS.WSWithEncoding withEncoding(java.lang.String encoding)
          Use thos method to get an instance to WS with diferent encoding
 
Methods inherited from class play.PlayPlugin
addMimeTypes, addTemplateExtensions, afterActionInvocation, afterApplicationStart, afterFixtureLoad, afterInvocation, beforeActionInvocation, beforeDetectingChanges, beforeInvocation, bind, bind, bind, bindBean, compareTo, compileAll, compileSources, detectChange, detectClassesChange, enhance, getJsonStatus, getMessage, getStatus, invocationFinally, loadTemplate, modelFactory, onActionInvocationResult, onApplicationReady, onClassesChange, onConfigurationRead, onEvent, onInvocationException, onInvocationSuccess, onLoad, onRequestRouting, onRoutesLoaded, onTemplateCompilation, overrideTemplateSource, postEvent, rawInvocation, routeRequest, runTest, serveStatic, unBind, willBeValidated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WS

public WS()
Method Detail

withEncoding

public static WS.WSWithEncoding withEncoding(java.lang.String encoding)
Use thos method to get an instance to WS with diferent encoding

Parameters:
encoding - the encoding to use in the communication
Returns:
a new instance of WS with specified encoding

onApplicationStop

public void onApplicationStop()
Description copied from class: PlayPlugin
Called at application stop (and before each reloading) Time to shutdown stateful things.

Overrides:
onApplicationStop in class PlayPlugin

onApplicationStart

public void onApplicationStart()
Description copied from class: PlayPlugin
Called at application start (and at each reloading) Time to start stateful things.

Overrides:
onApplicationStart in class PlayPlugin

encode

public static java.lang.String encode(java.lang.String part)
URL-encode a string to be used as a query string parameter.

Parameters:
part - string to encode
Returns:
url-encoded string

url

public static WS.WSRequest url(java.lang.String url)
Build a WebService Request with the given URL. This object support chaining style programming for adding params, file, headers to requests.

Parameters:
url - of the request
Returns:
a WSRequest on which you can add params, file headers using a chaining style programming.

url

public static WS.WSRequest url(java.lang.String url,
                               java.lang.String... params)
Build a WebService Request with the given URL. This constructor will format url using params passed in arguments. This object support chaining style programming for adding params, file, headers to requests.

Parameters:
url - to format using the given params.
params - the params passed to format the URL.
Returns:
a WSRequest on which you can add params, file headers using a chaining style programming.


Guillaume Bort & zenexity - Distributed under Apache 2 licence, without any warrantly