home *** CD-ROM | disk | FTP | other *** search
/ Australian PC Authority 1999 May / may1999.iso / INTERNET / COMMUNIC / NETCAST.Z / marimb10.jar / netscape / netcast / NSTunerURLConnection.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-25  |  2.1 KB  |  68 lines

  1. package netscape.netcast;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.net.URL;
  6. import java.net.URLConnection;
  7. import marimba.castanet.client.CastanetFile;
  8. import marimba.io.FastInputStream;
  9. import netscape.security.PrivilegeManager;
  10. import netscape.security.Target;
  11.  
  12. final class NSTunerURLConnection extends URLConnection {
  13.    boolean connected;
  14.    // $FF: renamed from: in marimba.io.FastInputStream
  15.    FastInputStream field_0;
  16.    CastanetFile file;
  17.    String path;
  18.    long length;
  19.    String mime;
  20.  
  21.    NSTunerURLConnection(URL url, CastanetFile file, String path, String mime) {
  22.       super(url);
  23.       this.file = file;
  24.       this.path = path;
  25.       this.mime = mime;
  26.    }
  27.  
  28.    public String getHeaderField(String name) {
  29.       if (this.connected) {
  30.          if ("content-type".equalsIgnoreCase(name)) {
  31.             if (this.mime != null) {
  32.                return this.mime;
  33.             }
  34.  
  35.             return URLConnection.guessContentTypeFromName(this.path);
  36.          }
  37.  
  38.          if ("content-length".equalsIgnoreCase(name)) {
  39.             return String.valueOf(this.length);
  40.          }
  41.       }
  42.  
  43.       return null;
  44.    }
  45.  
  46.    public void connect() throws IOException {
  47.       PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
  48.       if (privMgr != null) {
  49.          Target target = Target.findTarget("MarimbaAppContextTarget");
  50.          if (target != null) {
  51.             privMgr.enablePrivilege(target);
  52.          }
  53.       }
  54.  
  55.       this.field_0 = new FastInputStream(this.file.getInputStream());
  56.       this.length = (long)this.field_0.available();
  57.       this.connected = true;
  58.    }
  59.  
  60.    public synchronized InputStream getInputStream() throws IOException {
  61.       if (!this.connected) {
  62.          this.connect();
  63.       }
  64.  
  65.       return this.field_0;
  66.    }
  67. }
  68.