MyHttpURLConnection.java

import java.net.*;
import java.io.*;
public class MyHttpURLConnection extends URLConnection {
  final static int DEFAULT_PORT = 80;
  InputStream input;
  public MyHttpURLConnection(URL url) {
    // Appel du constructeur de la super-classe qui stocke
    // l'URL associé au gestionnaire
    super(url);
    System.err.println("Construction de MyHttpURLConnection");
  }
  public void connect() throws IOException {
    System.err.println("Connexion...");
    int port = url.getPort();
    if (port == -1) port = DEFAULT_PORT;
    // Ouverture d'une socket vers la machine et
    // le port contenus dans l'URL
    Socket s = new Socket(url.getHost(),port);
    // Récupération du flot d'entrée sur le
    // serveur HTTP
    input = s.getInputStream();
    // Écriture de la requête
    PrintStream out = new PrintStream(s.getOutputStream());
    out.println("GET " + url.getFile());
    // Indication de connexion
    connected = true;
  }
  public String getContentType() {
    System.err.println("MyHttpURLConnection.getContentType().. pour :");
    System.err.println("\t" + url.getFile());
    String s = "text/mytext";
    System.err.println("Type retourné : "+ s);
    // Retourne systématiquement le type text/mytext
    return s;
  }
  public synchronized InputStream getInputStream() throws IOException{
    System.err.println("MyHttpURLConnection.getInputStream()");
    // La méthode effectue la connexion si elle n'est pas encore
    // établie
    if (!connected) connect();
    return input;
  }
}