@Test
  public void testWithAdditionalRequestHeader() {
    RequestHeader additionalRequestHeader =
        new RequestHeader(additionalHeaderName, UUID.randomUUID().toString());

    MetaDataProviderBuilder builder = new MetaDataProviderBuilder("Ingenico");
    if (isAllowed) {
      MetaDataProvider metaDataProvider =
          builder.withAdditionalRequestHeader(additionalRequestHeader).build();
      Collection<RequestHeader> requestHeaders = metaDataProvider.getServerMetaDataHeaders();
      Assert.assertEquals(2, requestHeaders.size());

      Iterator<RequestHeader> requestHeaderIterator = requestHeaders.iterator();
      RequestHeader requestHeader = requestHeaderIterator.next();
      Assert.assertEquals("X-GCS-ServerMetaInfo", requestHeader.getName());

      requestHeader = requestHeaderIterator.next();
      Assert.assertThat(requestHeader, new RequestHeaderMatcher(additionalRequestHeader));
    } else {
      try {
        builder.withAdditionalRequestHeader(additionalRequestHeader);
        Assert.fail("expected IllegalArgumentException");
      } catch (IllegalArgumentException e) {
        Assert.assertThat(e.getMessage(), Matchers.containsString(additionalHeaderName));
      }
    }
  }
  public RpcRequest(int xid, String service, String method, List<Object> params) {
    header = new RequestHeader();
    header.msgType = Rpc.MSG_CALL;
    header.xid = xid;

    cbody = new RequestBody();
    cbody.service = service;
    cbody.method = method;
    cbody.params = params;
  }
 /**
  * Is this action input parameter required.
  *
  * @return true if required
  */
 public boolean isRequired() {
   boolean ret;
   if (isRequestBody()) {
     ret = requestBody.required();
   } else if (isRequestParam()) {
     ret = !(isDefined(requestParam.defaultValue()) || !requestParam.required());
   } else if (isRequestHeader()) {
     ret = !(isDefined(requestHeader.defaultValue()) || !requestHeader.required());
   } else {
     ret = true;
   }
   return ret;
 }
 /**
  * Determines default value of request param or request header, if available.
  *
  * @return value or null
  */
 public String getDefaultValue() {
   String ret;
   if (isRequestParam()) {
     ret = isDefined(requestParam.defaultValue()) ? requestParam.defaultValue() : null;
   } else if (isRequestHeader()) {
     ret =
         !(ValueConstants.DEFAULT_NONE.equals(requestHeader.defaultValue()))
             ? requestHeader.defaultValue()
             : null;
   } else {
     ret = null;
   }
   return ret;
 }
示例#5
0
 public static boolean expectContent(RequestHeader request) throws MessageFormatException {
   String method = request.getMethod();
   if (!"POST".equalsIgnoreCase(method) && !"PUT".equalsIgnoreCase(method)) return false;
   String contentLength = request.getHeader(CONTENT_LENGTH);
   String transferEncoding = request.getHeader(TRANSFER_ENCODING);
   if (transferEncoding != null) return true;
   if (contentLength == null)
     throw new MessageFormatException(
         "Request content expected, but no length specified!", request.getHeader());
   try {
     int cl = Integer.parseInt(contentLength);
     if (cl < 0)
       throw new MessageFormatException(
           "Negative content length: " + contentLength, request.getHeader());
     if (cl == 0) return false;
     return true;
   } catch (NumberFormatException nfe) {
     throw new MessageFormatException(
         "Invalid content length: " + contentLength, nfe, request.getHeader());
   }
 }
示例#6
0
 public Promise<Result> onHandlerNotFound(RequestHeader request) {
   return Promise.<Result>pure(notFound(views.html.notFoundPage.render(request.uri())));
 }
示例#7
0
 public static boolean isExpectContinue(RequestHeader request) throws MessageFormatException {
   return "100-continue".equalsIgnoreCase(request.getHeader("Expect"));
 }
示例#8
0
 public static boolean expectContent(RequestHeader request, ResponseHeader response)
     throws MessageFormatException {
   String method = request.getMethod();
   String status = response.getStatus();
   return !("HEAD".equalsIgnoreCase(method) || "204".equals(status) || "304".equals(status));
 }
 @Override
 public String getRequestHeaderName() {
   return isRequestHeader() ? requestHeader.value() : null;
 }