当前位置: 首页>>代码示例>>Java>>正文


Java Attribute类代码示例

本文整理汇总了Java中io.netty.handler.codec.http.multipart.Attribute的典型用法代码示例。如果您正苦于以下问题:Java Attribute类的具体用法?Java Attribute怎么用?Java Attribute使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Attribute类属于io.netty.handler.codec.http.multipart包,在下文中一共展示了Attribute类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getPostParameter

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
public static String getPostParameter(HttpRequest req, String name) {
	HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(
			new DefaultHttpDataFactory(false), req);

	InterfaceHttpData data = decoder.getBodyHttpData(name);
	if (data.getHttpDataType() == HttpDataType.Attribute) {
		Attribute attribute = (Attribute) data;
		String value = null;
		try {
			value = attribute.getValue();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return value;
	}

	return null;
}
 
开发者ID:osswangxining,项目名称:mqttserver,代码行数:19,代码来源:HttpSessionStore.java

示例2: parsePostParam

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private  void parsePostParam(InterfaceHttpData data) {
    try {
        switch (data.getHttpDataType()) {
            case Attribute:
                Attribute param = (Attribute) data;
                this.paramsMap.put(param.getName(), Collections.singletonList(param.getValue()));
                break;
            default:
                break;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        data.release();
    }
}
 
开发者ID:togethwy,项目名称:kurdran,代码行数:17,代码来源:HttpRequest.java

示例3: copyHttpBodyData

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
void copyHttpBodyData(FullHttpRequest fullHttpReq, MockHttpServletRequest servletRequest){
	ByteBuf bbContent = fullHttpReq.content();	
	
	if(bbContent.hasArray()) {				
		servletRequest.setContent(bbContent.array());
	} else {			
		if(fullHttpReq.getMethod().equals(HttpMethod.POST)){
			HttpPostRequestDecoder decoderPostData  = new HttpPostRequestDecoder(new DefaultHttpDataFactory(false), fullHttpReq);
			String bbContentStr = bbContent.toString(Charset.forName(UTF_8));
			servletRequest.setContent(bbContentStr.getBytes());
			if( ! decoderPostData.isMultipart() ){
				List<InterfaceHttpData> postDatas = decoderPostData.getBodyHttpDatas();
				for (InterfaceHttpData postData : postDatas) {
					if (postData.getHttpDataType() == HttpDataType.Attribute) {
						Attribute attribute = (Attribute) postData;
						try {											
							servletRequest.addParameter(attribute.getName(),attribute.getValue());
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
				}	
			}
		}			
	}	
}
 
开发者ID:duchien85,项目名称:netty-cookbook,代码行数:27,代码来源:ServletNettyChannelHandler.java

示例4: writeHttpData

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private void writeHttpData(InterfaceHttpData data) throws IOException
{
    if (data.getHttpDataType() == InterfaceHttpData.HttpDataType.Attribute)
    {
        Attribute attribute = (Attribute) data;
        String value = attribute.getValue();

        if (value.length() > 65535)
        {
            throw new IOException("Data too long");
        }
        req.addPostParameter(attribute.getName(), value);
    }
    else
    {
        if (data.getHttpDataType() == InterfaceHttpData.HttpDataType.FileUpload)
        {
            FileUpload fileUpload = (FileUpload) data;
            req.addFileUpload(fileUpload);
        }
    }
}
 
开发者ID:touwolf,项目名称:bridje-framework,代码行数:23,代码来源:HttpServerChannelHandler.java

示例5: decodePost

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private void decodePost() {
    HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(request);
    // Form Data
    List<InterfaceHttpData> bodyHttpDatas = decoder.getBodyHttpDatas();
    try {
        for (InterfaceHttpData data : bodyHttpDatas) {
            if (data.getHttpDataType().equals(HttpDataType.Attribute)) {
                Attribute attr = (MixedAttribute) data;
                params.put(data.getName(),
                        new Param(Arrays.asList(attr.getValue())));
            }
        }
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    decoder.destroy();
}
 
开发者ID:erickzanardo,项目名称:locomotive,代码行数:18,代码来源:LocomotiveRequestWrapper.java

示例6: get

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
@Override
public Object get(ChannelHandlerContext ctx, URIDecoder uriDecoder) {
    List<InterfaceHttpData> bodyHttpDatas = uriDecoder.getBodyHttpDatas();
    if (bodyHttpDatas == null || bodyHttpDatas.size() == 0) {
        return null;
    }

    for (InterfaceHttpData data : bodyHttpDatas) {
        if (name.equals(data.getName())) {
            if (data.getHttpDataType() == InterfaceHttpData.HttpDataType.Attribute) {
                Attribute attribute = (Attribute) data;
                try {
                    return ReflectionUtil.castTo(type, attribute.getValue());
                } catch (IOException e) {
                    log.error("Error getting form params. Reason : {}", e.getMessage(), e);
                }
            }
        }
    }

    return null;
}
 
开发者ID:blynkkk,项目名称:blynk-server,代码行数:23,代码来源:FormParam.java

示例7: toString

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private String toString(InterfaceHttpData p) {
    return callUnchecked(() -> {
        if (p != null) {
            if (p instanceof FileUpload) {
                return FileUpload.class.cast(p).getFilename();
            }
            if (p instanceof Attribute) {
                return Attribute.class.cast(p).getValue();
            }
            else {
                return null;
            }
        }
        else {
            return null;
        }
    });
}
 
开发者ID:nosceon,项目名称:titanite,代码行数:19,代码来源:FormParams.java

示例8: setHttpRequest

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
public void setHttpRequest(HttpRequest request) throws BadRequestException, IOException {
  if (request == null) {
    LOG.error("HttpRequest not initialized");
    throw new BadRequestException("HttpRequest not initialized");
  }
  if (!request.getMethod().equals(HttpMethod.POST)) {
    LOG.error("Got invalid HTTP method: expecting only POST");
    throw new BadRequestException("Incorrect method "
        + request.getMethod().toString() + ", expected POST");
  }
  HttpDataFactory factory = new DefaultHttpDataFactory(DefaultHttpDataFactory.MINSIZE);
  HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(factory, request);
  InterfaceHttpData data = decoder.getBodyHttpData(HTTP_TEST_ATTRIBUTE);
  if (data == null) {
    LOG.error("HTTP Resolve request inccorect, {} attribute not found", HTTP_TEST_ATTRIBUTE);
    throw new BadRequestException("HTTP Resolve request inccorect, " +
        HTTP_TEST_ATTRIBUTE + " attribute not found");
  }
  Attribute attribute = (Attribute) data;
  requestData = attribute.get();
  LOG.trace("Name {}, type {} found, data size {}", data.getName(), data.getHttpDataType().name(), requestData.length);
}
 
开发者ID:kaaproject,项目名称:kaa,代码行数:23,代码来源:NettyHttpTestIT.java

示例9: parseQueryParams

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private Map<String, List<String>> parseQueryParams() {
    // query string
    final QueryStringDecoder query = new QueryStringDecoder(uri());
    final Map<String, List<String>> queryParams = new HashMap<>(query.parameters());

    //TODO multipart/form-data
    if (!"application/x-www-form-urlencoded".equalsIgnoreCase(contentType())) return queryParams;

    // http body
    final HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(request);
    final List<InterfaceHttpData> bodyHttpDatas = decoder.getBodyHttpDatas();
    bodyHttpDatas.stream()
            .parallel()
            .filter(e -> e.getHttpDataType() == InterfaceHttpData.HttpDataType.Attribute)
            .map(e -> (Attribute) e)
            .map(e -> {
                try {
                    return new AbstractMap.SimpleImmutableEntry<String, String>(e.getName(), e.getValue());
                } catch (IOException ex) {
                    throw new RuntimeException(ex);
                }
            })
            .forEach(e -> {
                String key = e.getKey();
                if (!queryParams.containsKey(key)) queryParams.putIfAbsent(key, new ArrayList<>(1));
                queryParams.get(key).add(e.getValue());
            });
    return queryParams;
}
 
开发者ID:bruce-sha,项目名称:sardine,代码行数:30,代码来源:Request.java

示例10: handleUploadFile

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private void handleUploadFile(InterfaceHttpData data, Message uploadMessage) throws IOException{
	FileForm fileForm = uploadMessage.fileForm;
       if(uploadMessage.fileForm == null){
       	uploadMessage.fileForm = fileForm = new FileForm();
       }
       
	if (data.getHttpDataType() == HttpDataType.Attribute) {
           Attribute attribute = (Attribute) data;
           fileForm.attributes.put(attribute.getName(), attribute.getValue());
           return;
	}
	
	if (data.getHttpDataType() == HttpDataType.FileUpload) {
           FileUpload fileUpload = (FileUpload) data;
           Message.FileUpload file = new Message.FileUpload();
           file.fileName = fileUpload.getFilename();
           file.contentType = fileUpload.getContentType();
           file.data = fileUpload.get(); 
           
           List<Message.FileUpload> uploads = fileForm.files.get(data.getName());
           if(uploads == null){
           	uploads = new ArrayList<Message.FileUpload>();
           	fileForm.files.put(data.getName(), uploads);
           }
           uploads.add(file);
	}
}
 
开发者ID:rushmore,项目名称:zbus,代码行数:28,代码来源:MessageCodec.java

示例11: domainKey

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private String domainKey(FullHttpRequest request)
        throws IOException
{
    FullHttpRequest copy = request.copy();
    ReferenceCountUtil.releaseLater(copy);
    HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(copy);
    List<InterfaceHttpData> keyDatas = decoder.getBodyHttpDatas("domain_key");
    assertThat(keyDatas, is(not(nullValue())));
    assertThat(keyDatas.size(), is(1));
    InterfaceHttpData domainKeyData = keyDatas.get(0);
    assertThat(domainKeyData.getHttpDataType(), is(HttpDataType.Attribute));
    return ((Attribute) domainKeyData).getValue();
}
 
开发者ID:treasure-data,项目名称:digdag,代码行数:14,代码来源:TdIT.java

示例12: process

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
public GaleRequest process(FullHttpRequest request) {
  GaleRequest result = new GaleRequest();
  result.setUri(request.getUri());
  result.setMethod(request.getMethod());
  result.setHeaders(request.headers());
  result.setVersion(request.getProtocolVersion());
  
  //parse query parameters
  QueryStringDecoder queryDecoder = new QueryStringDecoder(request.getUri(), CharsetUtil.UTF_8);
  
  result.setPath(queryDecoder.path());
  result.getParameters().putAll(queryDecoder.parameters());
  //parse body parameters
  HttpPostRequestDecoder bodyDecoder = new HttpPostRequestDecoder(new DefaultHttpDataFactory(true), request);
  
  List<InterfaceHttpData> datum = bodyDecoder.getBodyHttpDatas();
  if (datum != null && !datum.isEmpty()) {
    for (InterfaceHttpData data : datum) {
      String name = data.getName();
      String value = null;
      if (data.getHttpDataType().equals(HttpDataType.Attribute)) {
        //do not parse file data
        Attribute attribute = (Attribute)data;
        try {
          value = attribute.getString(CharsetUtil.UTF_8);
          result.getParameters().add(name, value);
        } catch(Exception e) {
          ELOGGER.error(this.getClass().getName(), e);
        }
      }
    }
  }
  bodyDecoder.destroy();
  return result;
}
 
开发者ID:dadooteam,项目名称:gale,代码行数:36,代码来源:GaleRequestProcessor.java

示例13: addBodyAttribute

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
/**
 * Add a simple attribute in the body as Name=Value
 *
 * @param name
 *            name of the parameter
 * @param value
 *            the value of the parameter
 * @throws NullPointerException
 *             for name
 * @throws ErrorDataEncoderException
 *             if the encoding is in error or if the finalize were already done
 */
public void addBodyAttribute(String name, String value) throws ErrorDataEncoderException {
    if (name == null) {
        throw new NullPointerException("name");
    }
    String svalue = value;
    if (value == null) {
        svalue = "";
    }

    Attribute data = factory.createAttribute(request, name, svalue);
    addBodyHttpData(data);
}
 
开发者ID:desperado1992,项目名称:distributeTemplate,代码行数:25,代码来源:MyHttpPostRequestEncoder.java

示例14: addToParameters

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
private void addToParameters(Map<String, List<String>> parameters, Attribute attribute) {
  try {
    String value = attribute.getValue();
    if (Strings.isNullOrEmpty(value)) {
      return;
    }

    String name = attribute.getName();
    List<String> params = parameters.computeIfAbsent(name, k -> new ArrayList<>());
    params.add(value);
  } catch (Exception e) {
    throw new RequestProcessingException(e.getMessage(), e);
  }
}
 
开发者ID:orctom,项目名称:laputa,代码行数:15,代码来源:LaputaRequestProcessor.java

示例15: messageReceived

import io.netty.handler.codec.http.multipart.Attribute; //导入依赖的package包/类
@Override
public void messageReceived(ChannelHandlerContext ctx, Env env) throws Exception {
  if (env.getRequest().getMethod() == POST || env.getRequest().getMethod() == PUT || env.getRequest().getMethod() == PATCH) {
    HttpPostRequestDecoder decoder = new HttpPostRequestDecoder(env.getRequest());

    for (InterfaceHttpData entry: decoder.getBodyHttpDatas()) {
      if (entry.getHttpDataType() == HttpDataType.Attribute) {
        Attribute attribute = (Attribute)entry;
        env.getRequest().setParam((String)attribute.getName(), (String)attribute.getValue());
      }
    }
  }

  nextHandler(ctx, env);
}
 
开发者ID:spinscale,项目名称:katamari,代码行数:16,代码来源:BodyDecoder.java


注:本文中的io.netty.handler.codec.http.multipart.Attribute类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。