Package org.owasp.webscarab.model

Examples of org.owasp.webscarab.model.Request


        return parameters;
    }

    public List getAXFetchRequestAttributes(ConversationID id) {
        List attributes = new LinkedList();
        Request request = this.model.getRequest(id);
        String method = request.getMethod();
        NamedValue[] values = null;
        if ("GET".equals(method)) {
            HttpUrl url = request.getURL();
            String query = url.getQuery();
            if (null != query) {
                values = NamedValue.splitNamedValues(query, "&", "=");
            }
        } else if ("POST".equals(method)) {
            byte[] requestContent = request.getContent();
            if (requestContent != null && requestContent.length > 0) {
                String body = new String(requestContent);
                values = NamedValue.splitNamedValues(
                        body, "&", "=");
            }
View Full Code Here


        }
        return true;
    }
   
    public void responseReceived(Response response) {
        Request request = response.getRequest();
        if (request == null) {
            _logger.warning("Got a null request from the response!");
            return;
        }
        if (response.getStatus().startsWith("401")) {
            _logger.info("Invalid credentials or authentication required for " + request.getURL());
            _model.setAuthRequired(request.getURL());
            return;
        }
        _framework.addConversation(request, response, "Spider");
        if (_model.getCookieSync()) {
            NamedValue[] headers = response.getHeaders();
            for (int i=0; i<headers.length; i++) {
                if (headers[i].getName().equalsIgnoreCase("Set-Cookie") || headers[i].getName().equalsIgnoreCase("Set-Cookie2")) {
                    Cookie cookie = new Cookie(new Date(), request.getURL(), headers[i].getValue());
                    _model.addCookie(cookie);
                }
            }
        }
    }
View Full Code Here

        return attributes;
    }

    public List getAXFetchResponseAttributes(ConversationID id) {
        List attributes = new LinkedList();
        Request request = this.model.getRequest(id);
        String method = request.getMethod();
        NamedValue[] values = null;
        if ("GET".equals(method)) {
            HttpUrl url = request.getURL();
            String query = url.getQuery();
            if (null != query) {
                values = NamedValue.splitNamedValues(query, "&", "=");
            }
        } else if ("POST".equals(method)) {
            byte[] requestContent = request.getContent();
            if (requestContent != null && requestContent.length > 0) {
                String body = new String(requestContent);
                values = NamedValue.splitNamedValues(
                        body, "&", "=");
            }
View Full Code Here

    }
   
    private Request newGetRequest(Link link) {
        HttpUrl url = link.getURL();
        String referer = link.getReferer();
        Request req = new Request();
        req.setMethod("GET");
        req.setURL(url);
        req.setVersion("HTTP/1.0"); // 1.1 or 1.0?
        if (referer != null) {
            req.setHeader("Referer", referer);
        }
        req.setHeader("Host", url.getHost() + ":" + url.getPort());
        if (req.getVersion().equals("HTTP/1.0"))
            req.setHeader("Connection", "Keep-Alive");
        NamedValue[] headers = _model.getExtraHeaders();
        if (headers != null && headers.length > 0) {
            for (int i=0; i< headers.length; i++) {
                if (headers[i] != null)
                    req.addHeader(headers[i]);
            }
        }
        return req;
    }
View Full Code Here

        }
        return attributes;
    }

    public PAPEResponse getPAPEResponse(ConversationID id) {
        Request request = this.model.getRequest(id);
        String method = request.getMethod();
        NamedValue[] values = null;
        if ("GET".equals(method)) {
            HttpUrl url = request.getURL();
            String query = url.getQuery();
            if (null != query) {
                values = NamedValue.splitNamedValues(query, "&", "=");
            }
        } else if ("POST".equals(method)) {
            byte[] requestContent = request.getContent();
            if (requestContent != null && requestContent.length > 0) {
                String body = new String(requestContent);
                values = NamedValue.splitNamedValues(
                        body, "&", "=");
            }
View Full Code Here

                    dhParameterSpec);
        } else {
            dhSession = null;
        }
        AssociationRequest associationRequest = AssociationRequest.createAssociationRequest(associationSessionType, dhSession);
        Request request = new Request();
        request.setMethod("POST");
        request.setURL(new HttpUrl(opUrl));
        request.setHeader("Content-Type", "application/x-www-form-urlencoded");

        StringBuilder body = new StringBuilder();
        Map parameters = associationRequest.getParameterMap();
        Set parameterEntries = parameters.entrySet();
        Iterator parameterIterator = parameterEntries.iterator();
        while (parameterIterator.hasNext()) {
            if (0 != body.length()) {
                body.append("&");
            }
            Map.Entry parameterEntry = (Map.Entry) parameterIterator.next();
            body.append(parameterEntry.getKey());
            body.append("=");
            body.append(Encoding.urlEncode((String)parameterEntry.getValue()));
        }
        request.setHeader("Content-Length", Integer.toString(body.length()));
        request.setContent(body.toString().getBytes());

        Response response = HTTPClientFactory.getInstance().fetchResponse(request);
        if (false == "200".equals(response.getStatus())) {
            throw new RuntimeException("invalid status return code: " + response.getStatus());
        }
View Full Code Here

            setRequest(null, false);
            setResponse(null, false);
            if (_frame != null)
                _frame.setTitle("WebScarab - no conversation selected");
        } else {
            Request request = _model.getRequest(id);
            Response response = _model.getResponse(id);
            setRequest(request, false);
            setResponse(response, false);
            if (_frame != null)
                _frame.setTitle("WebScarab - conversation " + id);
View Full Code Here

        _handler.requestError(request, ioe);
        _pending--;
    }
   
    private Request getNextRequest() {
      Request nextRequest = null;
      synchronized (_requestQueue) {
        while (_requestQueue.size() == 0) {
          try {
            _requestQueue.wait();
          } catch (InterruptedException ie) {
View Full Code Here

        }
       
        public void run() {
          HTTPClient client = HTTPClientFactory.getInstance().getHTTPClient();
            while (_running) {
                Request request = getNextRequest();
                try {
                    Response response = client.fetchResponse(request);
                    response.flushContentStream();
                    responseReceived(response);
                } catch (IOException ioe) {
View Full Code Here

            if (_messagePanel.isModified()) {
                _request = (Request) _messagePanel.getMessage();
                _modified = true;
            }
            if (_request == null) {
                _request = new Request();
            }
            _request.setMethod(methodTextField.getText());
            String url = urlTextField.getText();
            if (!"".equals(url))
                _request.setURL(new HttpUrl(url));
            _request.setVersion(versionTextField.getText());
            // this is a bit of a hack. What we should really do is add a listener
            // to the text fields, so we know when a change has been made. Until then
            // this will do
            _modified = true;
        } else if (displayTabbedPane.getTitleAt(panel).equals("Raw")) { // raw text
            if (_textPanel.isModified()) {
                Request r = new Request();
                String text = _textPanel.getText();
                if (!"".equals(text))
                    r.parse(_textPanel.getText());
                _request = r;
                _modified = true;
            }
        }
        if (_modified)
View Full Code Here

TOP

Related Classes of org.owasp.webscarab.model.Request

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.