package org.scribe.builder.api;

import org.scribe.model.Token;

public class TwitterApi extends DefaultApi10a
{
  private static final String AUTHORIZE_URL = "https://api.twitter.com/oauth/authorize?oauth_token=%s";
  private static final String REQUEST_TOKEN_RESOURCE = "api.twitter.com/oauth/request_token";
  private static final String ACCESS_TOKEN_RESOURCE = "api.twitter.com/oauth/access_token";
  
  @Override
  public String getAccessTokenEndpoint()
  {
    return "http://" + ACCESS_TOKEN_RESOURCE;
  }

  @Override
  public String getRequestTokenEndpoint()
  {
    return "http://" + REQUEST_TOKEN_RESOURCE;
  }

  @Override
  public String getAuthorizationUrl(Token requestToken)
  {
    return String.format(AUTHORIZE_URL, requestToken.getToken());
  }

  public static class SSL extends TwitterApi
  {
    @Override
    public String getAccessTokenEndpoint()
    {
      return "https://" + ACCESS_TOKEN_RESOURCE;
    }

    @Override
    public String getRequestTokenEndpoint()
    {
      return "https://" + REQUEST_TOKEN_RESOURCE;
    }
  }

  /**
   * Twitter 'friendlier' authorization endpoint for OAuth.
   *
   * Uses SSL.
   */
  public static class Authenticate extends SSL
  {
    private static final String AUTHENTICATE_URL = "https://api.twitter.com/oauth/authenticate?oauth_token=%s";

    @Override
    public String getAuthorizationUrl(Token requestToken)
    {
      return String.format(AUTHENTICATE_URL, requestToken.getToken());
    }
  }

  /**
   * Just an alias to the default (SSL) authorization endpoint.
   *
   * Need to include this for symmetry with 'Authenticate' only.
   */
  public static class Authorize extends SSL{}
}

@@ -468,24 +468,25 @@
 return %22http
+s
 ://%22 + ACCES
@@ -582,16 +582,17 @@
 rn %22http
+s
 ://%22 + R
@@ -766,301 +766,8 @@
  %7D%0A%0A
-  public static class SSL extends TwitterApi%0A  %7B%0A    @Override%0A    public String getAccessTokenEndpoint()%0A    %7B%0A      return %22https://%22 + ACCESS_TOKEN_RESOURCE;%0A    %7D%0A%0A    @Override%0A    public String getRequestTokenEndpoint()%0A    %7B%0A      return %22https://%22 + REQUEST_TOKEN_RESOURCE;%0A    %7D%0A  %7D%0A%0A
   /*
@@ -832,28 +832,8 @@
 th.%0A
-   *%0A   * Uses SSL.%0A
    *
@@ -868,28 +868,16 @@
 enticate
- extends SSL
 %0A  %7B%0A   
@@ -1148,200 +1148,7 @@
 %0A  %7D
-%0A%0A  /**%0A   * Just an alias to the default (SSL) authorization endpoint.%0A   *%0A   * Need to include this for symmetry with 'Authenticate' only.%0A   */%0A  public static class Authorize extends SSL%7B%7D
 %0A%7D%0A

Update TwitterApi.java