play.libs

## Class WS

- java.lang.Object
- - play.PlayPlugin
  - - 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

Nested Classes
`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.

### Nested classes/interfaces inherited from class play.PlayPlugin

`PlayPlugin.Filter<T>`

### Field Summary

### Fields inherited from class play.PlayPlugin

`index`

### Constructor Summary

Constructors
Constructor and Description
`WS()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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, getFilter, getFunctionalTests, getJsonStatus, getMessage, getStatus, getUnitTests, hasFilter, invocationFinally, loadTemplate, modelFactory, onActionInvocationFinally, 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.