• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hazendaz / httpunit / 656

06 Dec 2025 09:11PM UTC coverage: 80.452% (+0.02%) from 80.435%
656

push

github

hazendaz
[maven-release-plugin] prepare for next development iteration

3213 of 4105 branches covered (78.27%)

Branch coverage included in aggregate %.

8245 of 10137 relevant lines covered (81.34%)

0.81 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

94.12
/src/main/java/com/meterware/httpunit/protocol/URLEncodedString.java
1
/*
2
 * MIT License
3
 *
4
 * Copyright 2011-2025 Russell Gold
5
 *
6
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
7
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
8
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
9
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
 *
11
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions
12
 * of the Software.
13
 *
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
15
 * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
17
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
18
 * DEALINGS IN THE SOFTWARE.
19
 */
20
package com.meterware.httpunit.protocol;
21

22
import java.net.URLEncoder;
23
import java.nio.charset.Charset;
24

25
/**
26
 * The Class URLEncodedString.
27
 */
28
public class URLEncodedString implements ParameterProcessor {
1✔
29

30
    /** The Constant DEFAULT_BUFFER_SIZE. */
31
    public static final int DEFAULT_BUFFER_SIZE = 128;
32

33
    /** The buffer. */
34
    private StringBuilder _buffer = new StringBuilder(DEFAULT_BUFFER_SIZE);
1✔
35

36
    /** The have parameters. */
37
    private boolean _haveParameters = false;
1✔
38

39
    /**
40
     * Gets the string.
41
     *
42
     * @return the string
43
     */
44
    public String getString() {
45
        return _buffer.toString();
1✔
46
    }
47

48
    @Override
49
    public void addParameter(String name, String value, String characterSet) {
50
        if (_haveParameters) {
1✔
51
            _buffer.append('&');
1✔
52
        }
53
        _buffer.append(encode(name, characterSet));
1✔
54
        if (value != null) {
1✔
55
            _buffer.append('=').append(encode(value, characterSet));
1✔
56
        }
57
        _haveParameters = true;
1✔
58
    }
1✔
59

60
    @Override
61
    public void addFile(String parameterName, UploadFileSpec fileSpec) {
62
        throw new RuntimeException("May not URL-encode a file upload request");
×
63
    }
64

65
    /**
66
     * Returns a URL-encoded version of the string.
67
     *
68
     * @param source
69
     *            the source
70
     * @param characterSet
71
     *            the character set
72
     *
73
     * @return the string
74
     */
75
    private String encode(String source, String characterSet) {
76
        return URLEncoder.encode(source, Charset.forName(characterSet));
1✔
77
    }
78

79
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc