Package freenet.clients.fcp

Source Code of freenet.clients.fcp.FilterResultMessage

package freenet.clients.fcp;

import freenet.node.Node;
import freenet.support.SimpleFieldSet;
import freenet.support.api.Bucket;

/**
* Carries the result of a content filter test back to the client.
*/
public class FilterResultMessage extends DataCarryingMessage {
  public static final String NAME = "FilterResult";

  private final String identifier;
  private final String charset;
  private final String mimeType;
  private final boolean unsafeContentType;
  private final long dataLength;
 
  public FilterResultMessage(String identifier, String charset, String mimeType, boolean unsafeContentType, Bucket bucket) {
    this.identifier = identifier;
    this.charset = charset;
    this.mimeType = mimeType;
    this.unsafeContentType = unsafeContentType;
    if (unsafeContentType) {
      this.dataLength = -1;
    } else {
      this.dataLength = bucket.size();
      this.bucket = bucket;
    }
  }

  @Override
  String getIdentifier() {
    return identifier;
  }

  @Override
  boolean isGlobal() {
    return false;
  }

  @Override
  long dataLength() {
    return dataLength;
  }

  @Override
  public SimpleFieldSet getFieldSet() {
    SimpleFieldSet fs = new SimpleFieldSet(true);
    fs.putSingle(IDENTIFIER, identifier);
    fs.putOverwrite("Charset", charset);
    fs.putOverwrite("MimeType", mimeType);
    fs.put("UnsafeContentType", unsafeContentType);
    fs.put("DataLength", dataLength);
    return fs;
  }

  @Override
  public String getName() {
    return NAME;
  }

  @Override
  public void run(FCPConnectionHandler handler, Node node) throws MessageInvalidException {
    throw new MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, NAME + " goes from server to client not the other way around", null, false);
  }

}
TOP

Related Classes of freenet.clients.fcp.FilterResultMessage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.