Package ru.org.linux.test

Source Code of ru.org.linux.test.WebHelper

package ru.org.linux.test;

import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;
import com.sun.jersey.multipart.FormDataBodyPart;
import com.sun.jersey.multipart.FormDataMultiPart;
import com.sun.jersey.multipart.file.FileDataBodyPart;
import ru.org.linux.csrf.CSRFProtectionService;

import javax.ws.rs.core.Cookie;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import java.io.File;
import java.io.IOException;

/**
*/
public class WebHelper {

  public static final String AUTH_COOKIE = "remember_me";
  public static final String MAIN_URL = "http://127.0.0.1:8080/";

  public static ClientResponse addPhoto(WebResource resource, String filename, String auth) {
    File file = new File(filename);

    FormDataMultiPart form = new FormDataMultiPart();
    form.bodyPart(new FormDataBodyPart("csrf", "csrf"));
    form.bodyPart(new FileDataBodyPart("file", file));

    return resource
        .path("addphoto.jsp")
        .cookie(new Cookie(WebHelper.AUTH_COOKIE, auth, "/", "127.0.0.1", 1))
        .cookie(new Cookie(CSRFProtectionService.CSRF_COOKIE, "csrf"))
        .type(MediaType.MULTIPART_FORM_DATA_TYPE)
        .post(ClientResponse.class, form);

  }

  public static String doLogin(WebResource resource, String user, String password) throws IOException {
    MultivaluedMap<String, String> formData = new MultivaluedMapImpl();

    formData.add("nick", user);
    formData.add("passwd", password);
    formData.add("csrf", "csrf");

    ClientResponse cr = resource
            .path("login_process")
            .cookie(new Cookie(CSRFProtectionService.CSRF_COOKIE, "csrf"))
            .post(ClientResponse.class, formData);


    String auth = getAuthCookie(cr);
    if(auth != null) {
      return auth;
    }

    return null;
  }

  public static String getAuthCookie(ClientResponse cr) {
    for (Cookie cookie : cr.getCookies()) {
      if (cookie.getName().equals(AUTH_COOKIE)) {
        return cookie.getValue();
      }
    }

    System.out.println("cookies:" + cr.getCookies());
    return null;
  }


}
TOP

Related Classes of ru.org.linux.test.WebHelper

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.