FileDocCategorySizeDatePackage
FingerURLConnection.javaAPI DocExample1378Sat Sep 09 20:53:50 BST 2000com.macfaq.net.www.protocol.finger

FingerURLConnection.java

package com.macfaq.net.www.protocol.finger;

import java.net.*;
import java.io.*;

public class FingerURLConnection extends URLConnection {

  private Socket connection = null;
  
  public final static int DEFAULT_PORT = 79;

  public FingerURLConnection(URL u) {
    super(u);
  }

  public synchronized InputStream getInputStream() throws IOException {
  
    if (!connected) this.connect();
    InputStream in = this.connection.getInputStream();
    return in;
    
  }

  public String getContentType() {
    return "text/plain";
  }
  
  public synchronized void connect() throws IOException {
  
    if (!connected) {
      int port = url.getPort();
      if ( port < 1 || port > 65535) {
        port = DEFAULT_PORT;
      }
      this.connection = new Socket(url.getHost(), port);
      OutputStream out = this.connection.getOutputStream();
      String names = url.getFile();
      if (names != null && !names.equals("")) {
        // delete initial /
        names = names.substring(1);
        names = URLDecoder.decode(names);
        byte[] result;
        try {
          result = names.getBytes("ASCII");
        }
        catch (UnsupportedEncodingException e) {
          result = names.getBytes();  
        }
        out.write(result);
      }
      out.write('\r');
      out.write('\n');
      out.flush();
      this.connected = true;
    } 
      
  }

}