Example usage for com.google.gwt.xhr2.client RequestHeader RequestHeader

List of usage examples for com.google.gwt.xhr2.client RequestHeader RequestHeader

Introduction

In this page you can find the example usage for com.google.gwt.xhr2.client RequestHeader RequestHeader.

Prototype

public RequestHeader(String name, String value) 

Source Link

Document

Create new Header object.

Usage

From source file:org.rest.client.request.RequestHeadersParser.java

License:Apache License

/**
  * Parse HTTP headers string into list of {@link RequestHeader}
  * @param input headers string either from request as all headers response or from saved string
  * @return list of headers as {@link RequestHeader}
  *//*ww  w. j  av a 2 s . c o m*/
public static ArrayList<RequestHeader> stringToHeaders(String input) {
    ArrayList<RequestHeader> result = new ArrayList<RequestHeader>();
    if (input == null || input.equals("")) {
        return result;
    }
    String[] headers = input.split("[\r\n]");
    for (String h : headers) {
        String[] _tmp = h.split("[:|\r\n]", 2);
        if (_tmp.length > 0) {
            RequestHeader _h = new RequestHeader(_tmp[0].trim(), null);
            if (_tmp.length > 1) {
                _h.setValue(_tmp[1].trim());
            }
            result.add(_h);
        }
    }

    return result;
}

From source file:org.rest.client.RestClient.java

License:Apache License

/**
 * Prepare request data./*from  w w w .  j av a  2s .c om*/
 * It set (if request include payload) content-type header according to user preferences
 * @param rp
 * @return
 */
private static RequestObject parseRequestParameters(RequestObject rp) {
    String headers = rp.getHeaders();
    String method = rp.getMethod();
    String encoding = rp.getEncoding();
    boolean hasPayload = HttpMethodOptions.hasBody(method);

    ArrayList<FilesObject> files = null;
    if (hasPayload) {
        //handle content-type header for request with payload. 
        //It can be either set via headers form or select input with predefined options.
        ArrayList<RequestHeader> headersList = RequestHeadersParser.stringToHeaders(headers);
        if (headers == null) {
            headersList = new ArrayList<RequestHeader>();
        }
        int i = 0;
        for (RequestHeader item : headersList) {
            String key = item.getName();
            if (key.toLowerCase().equals("content-type")) {
                encoding = item.getValue();
                if (RestClient.isDebug()) {
                    Log.debug("Found Content-Type header in headers list. Overwrite content-type value to "
                            + encoding);
                }
                //Temporarily remove it from headers list
                headersList.remove(i);
                break;
            }
            i++;
        }
        files = rp.getFiles();
        if (files != null && files.size() > 0) {
            encoding = null;
        }
        if (encoding != null) {
            headersList.add(new RequestHeader("Content-Type", encoding));
        }
        headers = RequestHeadersParser.headersListToString(headersList);

    }

    RequestObject requestObject = RequestObject.createRequest();
    requestObject.setHeaders(headers);
    requestObject.setMethod(method);
    String url = rp.getURL();
    if (url.startsWith("/") && !isProdMode()) {
        //
        // DEV mode.
        //
        url = "http://127.0.0.1:8888" + url;
    }

    requestObject.setURL(url);
    if (hasPayload) {
        requestObject.setPayload(rp.getPayload());
        requestObject.setEncoding(null);
        requestObject.setFiles(files);
    }
    return requestObject;
}

From source file:org.rest.client.ui.desktop.widget.RequestHeadersWidget.java

License:Apache License

/**
 * Construct a new widget with headers editor.
 * //from  w  w w  .j  a  v a2 s.co m
 */
public RequestHeadersWidget() {
    initWidget(GWT.<Binder>create(Binder.class).createAndBindUi(this));

    loadCodeMirrorForHeaders();

    //
    // Initialize Suggest Oracle for headers
    //
    HeadersStoreWebSql store = RestClient.getClientFactory().getHeadersStore();
    suggestOracle = new HeadersSuggestOracle(store, "request");
    headersRawInput.addKeyUpHandler(new KeyUpHandler() {
        @Override
        public void onKeyUp(KeyUpEvent event) {
            updateHeadersRawData(headersRawInput.getValue());
        }
    });

    headersRawInput.addValueChangeHandler(new ValueChangeHandler<String>() {

        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            String headers = event.getValue();
            if (!RequestHeadersParser.isValidHeaderString(headers)) {
                errorInfo.setVisible(true);
            } else {
                errorInfo.setVisible(false);
            }
        }
    });

    rawTab.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            openRawTab();
        }
    });
    rawTab.addMouseOverHandler(new MouseOverHandler() {
        @Override
        public void onMouseOver(MouseOverEvent event) {
            HTML5Element tab = (HTML5Element) rawTab.getElement().cast();
            if (!tab.getClassList().contains("inlineButtonChecked"))
                tab.getClassList().add("inlineButtonHover");
        }
    });
    rawTab.addMouseOutHandler(new MouseOutHandler() {
        @Override
        public void onMouseOut(MouseOutEvent event) {
            HTML5Element tab = (HTML5Element) rawTab.getElement().cast();
            if (!tab.getClassList().contains("inlineButtonHover"))
                tab.getClassList().remove("inlineButtonHover");
        }
    });
    formTab.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            openFormTab();
        }

    });
    formTab.addMouseOverHandler(new MouseOverHandler() {
        @Override
        public void onMouseOver(MouseOverEvent event) {
            HTML5Element tab = (HTML5Element) formTab.getElement().cast();
            if (!tab.getClassList().contains("inlineButtonChecked"))
                tab.getClassList().add("inlineButtonHover");
        }
    });
    formTab.addMouseOutHandler(new MouseOutHandler() {
        @Override
        public void onMouseOut(MouseOutEvent event) {
            HTML5Element tab = (HTML5Element) formTab.getElement().cast();
            if (tab.getClassList().contains("inlineButtonHover"))
                tab.getClassList().remove("inlineButtonHover");
        }
    });

    BoundaryChangeEvent.register(RestClient.getClientFactory().getEventBus(),
            new BoundaryChangeEvent.Handler() {
                @Override
                public void onChange(String boundary) {
                    ArrayList<RequestHeader> list = RequestHeadersParser.stringToHeaders(headersData);
                    boolean found = false;
                    for (RequestHeader header : list) {
                        if (header.getName().toLowerCase().equals("content-type")) {
                            header.setValue("multipart/form-data; boundary=" + boundary);
                            found = true;
                            break;
                        }
                    }
                    if (!found) {
                        list.add(
                                new RequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary));
                    }
                    updateHeadersRawData(RequestHeadersParser.headersListToString(list));
                    headersRawInput.setValue(headersData, true);

                    if (currentTab.equals(TABS.FORM)) {
                        updateForm();
                    }
                }
            });
}

From source file:org.rest.client.ui.desktop.widget.RequestHeadersWidget.java

License:Apache License

/**
 * Update raw data after change in for editor.
 *///  w  ww . ja  v a2s .c  om
void updateRaw() {
    updateHeadersRawData("");
    ArrayList<RequestHeader> list = new ArrayList<RequestHeader>();
    for (HeadersFormRow row : rows) {
        list.add(new RequestHeader(row.nameBox.getValue(), row.valueBox.getValue()));
    }
    updateHeadersRawData(RequestHeadersParser.headersListToString(list));
    headersRawInput.setValue(headersData, true);
}