Package net.solosky.maplefetion.sipc

Examples of net.solosky.maplefetion.sipc.SipcHeader


     * @see net.solosky.maplefetion.protocol.ISIPNotifyHandler#handle(net.solosky.maplefetion.sip.SIPNotify)
     */
    @Override
    public void handle(SipcNotify notify) throws FetionException
    {
      SipcHeader event = notify.getHeader(SipcHeader.EVENT);
      String from = notify.getFrom();
      if(event!=null && event.getValue().equals("system-message")) {
        this.systemMessageReceived(notify);
      }else if(UriHelper.isGroup(from)) {
        this.groupMessageReceived(notify);
      }else {
        this.buddyMessageRecived(notify);
View Full Code Here


     */
    private Message parseMessage(SipcNotify notify)
    {
       String body  = notify.getBody()!=null?notify.getBody().toSendString():""//防止产生NULL错误
       Message msg  = null;
       SipcHeader contentHeader = notify.getHeader(SipcHeader.CONTENT_TYPE);
       if(contentHeader!=null) {
         String value = contentHeader.getValue();
         if(Message.TYPE_PLAIN.equals(value)){
           msg = new Message(body, Message.TYPE_PLAIN);
         }else if(Message.TYPE_HTML.equals(value)){
           msg = new Message(body, Message.TYPE_HTML);
         }else{
View Full Code Here

   * @param presence    登录状态
   * @param listener
   */
  public void userAuth(int presence, ActionEventListener listener)
  {
    SipcHeader wwwHeader = (SipcHeader) this.session.getAttribute(SipcHeader.WWWAUTHENTICATE);
    SipcRequest request = this.getMessageFactory().createUserAuthRequest(wwwHeader, presence,
        this.context.getTransferFactory().isMutiConnectionSupported(),
        this.context.getFetionStore().getStoreVersion());
    request.setResponseHandler(new UserAuthResponseHandler(context, this, listener));
    this.process(request);
View Full Code Here

    SipcResponse some = new SipcResponse(last.getStatusCode(), last.getStatusMessage());
   
    //把最后一个回复对象的所有消息头除了Content-Length都复制到新回复对象
    Iterator<SipcHeader> it = last.getHeaders().iterator();
    while(it.hasNext()){
      SipcHeader header = it.next();
      if(!SipcHeader.LENGTH.equals(header.getName())){  //如果不是L域就复制到新的回复头部中
        some.addHeader(header);
      }
    }
   
    //复制所有消息体到新的回复包中
View Full Code Here

            return false;
          }else if(headline.length()==0) {
            lastAction = ACTION_NONE;
            return true;
          }else {
            curMessage.addHeader(new SipcHeader(headline));
          }
      }
    }
View Full Code Here

        VerifyImage image   = event.getVerifyImage();
       
        //移除之前的A字段
        Iterator<SipcHeader> it = request.getHeaders().iterator();
        while(it.hasNext()) {
          SipcHeader h = it.next();
          if(h.getName().equals(SipcHeader.AUTHORIZATION) && h.getValue().indexOf("Verify response=")!=-1) {
            it.remove();
          }
        }
       
        request.addHeader(SipcHeader.AUTHORIZATION, "Verify response=\""+image.getVerifyCode()+"\",algorithm=\""+image.getAlgorithm()+"\"," +
View Full Code Here

    Element reason = root.getChild("reason");
    String text = reason.getAttributeValue("text")//原因
    String tips = reason.getAttributeValue("tips")//一些提示
   
    //解析一些获取验证图片的参数
    SipcHeader wwwHeader = response.getHeader(SipcHeader.WWWAUTHENTICATE);
    Pattern pt = Pattern.compile("Verify algorithm=\"(.*?)\",type=\"(.*?)\"");
    Matcher mc = pt.matcher(wwwHeader.getValue());
    if(mc.matches()) {
      String alg  = mc.group(1);    //验证图片算法
      String type = mc.group(2);    //类型???啥意思。。。
      VerifyImage verifyImage = null;
            try {
              verifyImage = HttpApplication.fetchVerifyImage(context.getFetionUser(),
                    context.getLocaleSetting(), alg, type);
            } catch (IOException e) {
              throw new IllegalStateException("fetch verify image failed.", e);
            }
     
            //通知设置的通知监听器处理这个验证码事件,如果没有设置监听器,将抛出异常
      NotifyEventListener listener = this.context.getNotifyEventListener();
      if(listener!=null) {
        listener.fireEvent(new ImageVerifyEvent(ImageVerifyEvent.SIPC_VERIFY,
            verifyImage, text, tips, response.getRequest(),
            this.dialog, this.listener));
      }else{
        throw new IllegalArgumentException("action need verify, but found no NotifyEventListener" +
          " to handle verify action, please set NotifyEventListener first.");
      }
    }else {
      throw new IllegalStateException("parse verify info failed. wwwHeader="+wwwHeader.getValue());
    }
   
      return null//返回null,表明处理这个回复事件
    }
View Full Code Here

    Class clazz = null;
    if (method.equals(SipcMethod.MESSAGE)) {
      clazz = MessageNotifyHandler.class;
    } else if (method.equals(SipcMethod.BENOTIFY)) {
      //检查事件名字
      SipcHeader eventHeader = notify.getHeader(SipcHeader.EVENT);
      if (eventHeader == null || eventHeader.getValue() == null) {
        logger.warn("Unknown Notify event:[" + notify + "]");
        return null;
      }
      String event = notify.getHeader(SipcHeader.EVENT).getValue();
     
View Full Code Here

    if(method==null) {
      logger.warn("Unknown Notify method:["+notify+"]");
    }
    Class clazz = null;
    if (method.equals(SipcMethod.BENOTIFY)) {
      SipcHeader eventHeader = notify.getHeader(SipcHeader.EVENT);
      if(eventHeader==null || eventHeader.getValue()==null) {
        logger.warn("Unknown Notify event:["+notify+"]");
        return null;
      }
      String event = notify.getHeader(SipcHeader.EVENT).getValue();
      if (event.equals("PresenceV4")) {
View Full Code Here

   */
  @Override
  protected ActionEvent doNotAuthorized(SipcResponse response)
      throws FetionException
  {
    SipcHeader header = response.getHeader(SipcHeader.WWWAUTHENTICATE);
    logger.debug("SipcRegister:"+header.toSendString());
    this.dialog.getSession().setAttribute(SipcHeader.WWWAUTHENTICATE, header);
    return new SuccessEvent();
   
  }
View Full Code Here

TOP

Related Classes of net.solosky.maplefetion.sipc.SipcHeader

Copyright © 2018 www.massapicom. 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.