• 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

76.92
/src/main/java/com/meterware/httpunit/protocol/URLEncodedMessageBody.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 com.meterware.httpunit.HttpUnitOptions;
23

24
import java.io.IOException;
25
import java.io.OutputStream;
26
import java.nio.charset.StandardCharsets;
27

28
/**
29
 * A POST method request message body which uses the default URL encoding.
30
 **/
31
class URLEncodedMessageBody extends MessageBody {
32

33
    /**
34
     * Instantiates a new URL encoded message body.
35
     *
36
     * @param characterSet
37
     *            the character set
38
     */
39
    URLEncodedMessageBody(String characterSet) {
40
        super(characterSet);
1✔
41
    }
1✔
42

43
    /**
44
     * Returns the content type of this message body.
45
     **/
46
    @Override
47
    public String getContentType() {
48
        return "application/x-www-form-urlencoded"
1✔
49
                + (!HttpUnitOptions.isPostIncludesCharset() ? "" : "; charset=" + getCharacterSet());
1!
50
    }
51

52
    /**
53
     * Transmits the body of this request as a sequence of bytes.
54
     **/
55
    @Override
56
    public void writeTo(OutputStream outputStream, ParameterCollection parameters) throws IOException {
57
        outputStream.write(getParameterString(parameters).getBytes(StandardCharsets.UTF_8));
1✔
58
    }
1✔
59

60
    /**
61
     * Gets the parameter string.
62
     *
63
     * @param parameters
64
     *            the parameters
65
     *
66
     * @return the parameter string
67
     */
68
    private String getParameterString(ParameterCollection parameters) {
69
        try {
70
            URLEncodedString encoder = new URLEncodedString();
1✔
71
            parameters.recordParameters(encoder);
1✔
72
            return encoder.getString();
1✔
73
        } catch (IOException e) {
×
74
            throw new RuntimeException("Programming error: " + e); // should never happen
×
75
        }
76
    }
77
}
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