This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener). # HTTP URLs that Could Not Be Fixed These URLs were unable to be fixed. Please review them to see if they can be manually resolved. * [ ] http://1337.net (200) with 1 occurrences could not be migrated: ([https](https://1337.net) result SSLHandshakeException). * [ ] http://codearte.io (200) with 2 occurrences could not be migrated: ([https](https://codearte.io) result SSLHandshakeException). * [ ] http://groovy-lang.org/json.html (200) with 5 occurrences could not be migrated: ([https](https://groovy-lang.org/json.html) result SSLProtocolException). * [ ] http://partners.com (200) with 14 occurrences could not be migrated: ([https](https://partners.com) result SSLHandshakeException). * [ ] http://rest-assured.io/ (200) with 2 occurrences could not be migrated: ([https](https://rest-assured.io/) result SSLHandshakeException). * [ ] http://toomuchcoding.com/blog/categories/accurest/ (200) with 2 occurrences could not be migrated: ([https](https://toomuchcoding.com/blog/categories/accurest/) result SSLHandshakeException). * [ ] http://toomuchcoding.com/blog/categories/spring-cloud-contract/ (200) with 2 occurrences could not be migrated: ([https](https://toomuchcoding.com/blog/categories/spring-cloud-contract/) result SSLHandshakeException). * [ ] http://wiremock.org (200) with 3 occurrences could not be migrated: ([https](https://wiremock.org) result SSLHandshakeException). * [ ] http://wiremock.org/docs/running-standalone/ (200) with 2 occurrences could not be migrated: ([https](https://wiremock.org/docs/running-standalone/) result SSLHandshakeException). * [ ] http://wiremock.org/docs/stubbing/ (200) with 2 occurrences could not be migrated: ([https](https://wiremock.org/docs/stubbing/) result SSLHandshakeException). * [ ] http://wiremock.org/stateful-behaviour.html (200) with 2 occurrences could not be migrated: ([https](https://wiremock.org/stateful-behaviour.html) result SSLHandshakeException). * [ ] http://wiremock.org/stubbing.html (200) with 1 occurrences could not be migrated: ([https](https://wiremock.org/stubbing.html) result SSLHandshakeException). * [ ] http://foo.com/ (301) with 1 occurrences could not be migrated: ([https](https://foo.com/) result SSLHandshakeException). * [ ] http://foo.com/blah_ (301) with 2 occurrences could not be migrated: ([https](https://foo.com/blah_) result SSLHandshakeException). * [ ] http://foo.com/blah_blah (301) with 1 occurrences could not be migrated: ([https](https://foo.com/blah_blah) result SSLHandshakeException). * [ ] http://foo.com/blah_blah/ (301) with 1 occurrences could not be migrated: ([https](https://foo.com/blah_blah/) result SSLHandshakeException). * [ ] http://foo.com/blah_blah_ (301) with 2 occurrences could not be migrated: ([https](https://foo.com/blah_blah_) result SSLHandshakeException). * [ ] http://foo.com/unicode_ (301) with 1 occurrences could not be migrated: ([https](https://foo.com/unicode_) result SSLHandshakeException). * [ ] http://192.168.0.100:8081/artifactory/libs-release-local (403) with 1 occurrences could not be migrated: ([https](https://192.168.0.100:8081/artifactory/libs-release-local) result ConnectTimeoutException). * [ ] http://nexus.net/content/repositories/repository (404) with 1 occurrences could not be migrated: ([https](https://nexus.net/content/repositories/repository) result SSLProtocolException). # Fixed URLs ## Fixed But Review Recommended These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended. * [ ] http://142.42.1.1/ (AnnotatedNoRouteToHostException) with 1 occurrences migrated to: https://142.42.1.1/ ([https](https://142.42.1.1/) result AnnotatedNoRouteToHostException). * [ ] http://142.42.1.1:8080/ (AnnotatedNoRouteToHostException) with 1 occurrences migrated to: https://142.42.1.1:8080/ ([https](https://142.42.1.1:8080/) result AnnotatedNoRouteToHostException). * [ ] http://223.255.255.254 (AnnotatedNoRouteToHostException) with 1 occurrences migrated to: https://223.255.255.254 ([https](https://223.255.255.254) result AnnotatedNoRouteToHostException). * [ ] http://123.123.123 (ConnectTimeoutException) with 1 occurrences migrated to: https://123.123.123 ([https](https://123.123.123) result ConnectTimeoutException). * [ ] http://-a.b.co (UnknownHostException) with 1 occurrences migrated to: https://-a.b.co ([https](https://-a.b.co) result UnknownHostException). * [ ] http://-error-.invalid/ (UnknownHostException) with 1 occurrences migrated to: https://-error-.invalid/ ([https](https://-error-.invalid/) result UnknownHostException). * [ ] http://../ (UnknownHostException) with 1 occurrences migrated to: https://../ ([https](https://../) result UnknownHostException). * [ ] http://.www.foo.bar./ (UnknownHostException) with 1 occurrences migrated to: https://.www.foo.bar./ ([https](https://.www.foo.bar./) result UnknownHostException). * [ ] http://.www.foo.bar/ (UnknownHostException) with 1 occurrences migrated to: https://.www.foo.bar/ ([https](https://.www.foo.bar/) result UnknownHostException). * [ ] http://1.1.1.1.1 (UnknownHostException) with 1 occurrences migrated to: https://1.1.1.1.1 ([https](https://1.1.1.1.1) result UnknownHostException). * [ ] http://a.b-.co (UnknownHostException) with 1 occurrences migrated to: https://a.b-.co ([https](https://a.b-.co) result UnknownHostException). * [ ] http://a.b-c.de (UnknownHostException) with 1 occurrences migrated to: https://a.b-c.de ([https](https://a.b-c.de) result UnknownHostException). * [ ] http://foo-597104692.com (UnknownHostException) with 3 occurrences migrated to: https://foo-597104692.com ([https](https://foo-597104692.com) result UnknownHostException). * [ ] http://foo.bar (UnknownHostException) with 2 occurrences migrated to: https://foo.bar ([https](https://foo.bar) result UnknownHostException). * [ ] http://foo.bar/?q=Test%20URL-encoded%20stuff (UnknownHostException) with 1 occurrences migrated to: https://foo.bar/?q=Test%20URL-encoded%20stuff ([https](https://foo.bar/?q=Test%20URL-encoded%20stuff) result UnknownHostException). * [ ] http://foo.bar/foo (UnknownHostException) with 1 occurrences migrated to: https://foo.bar/foo ([https](https://foo.bar/foo) result UnknownHostException). * [ ] http://foo.bar?q=Spaces (UnknownHostException) with 1 occurrences migrated to: https://foo.bar?q=Spaces ([https](https://foo.bar?q=Spaces) result UnknownHostException). * [ ] http://foo389886219.com (UnknownHostException) with 3 occurrences migrated to: https://foo389886219.com ([https](https://foo389886219.com) result UnknownHostException). * [ ] http://userid:password@example.com (UnknownHostException) with 1 occurrences migrated to: https://userid:password@example.com ([https](https://userid:password@example.com) result UnknownHostException). * [ ] http://userid:password@example.com/ (UnknownHostException) with 1 occurrences migrated to: https://userid:password@example.com/ ([https](https://userid:password@example.com/) result UnknownHostException). * [ ] http://userid:password@example.com:8080 (UnknownHostException) with 1 occurrences migrated to: https://userid:password@example.com:8080 ([https](https://userid:password@example.com:8080) result UnknownHostException). * [ ] http://userid:password@example.com:8080/ (UnknownHostException) with 1 occurrences migrated to: https://userid:password@example.com:8080/ ([https](https://userid:password@example.com:8080/) result UnknownHostException). * [ ] http://userid@example.com (UnknownHostException) with 1 occurrences migrated to: https://userid@example.com ([https](https://userid@example.com) result UnknownHostException). * [ ] http://userid@example.com/ (UnknownHostException) with 1 occurrences migrated to: https://userid@example.com/ ([https](https://userid@example.com/) result UnknownHostException). * [ ] http://userid@example.com:8080 (UnknownHostException) with 1 occurrences migrated to: https://userid@example.com:8080 ([https](https://userid@example.com:8080) result UnknownHostException). * [ ] http://userid@example.com:8080/ (UnknownHostException) with 1 occurrences migrated to: https://userid@example.com:8080/ ([https](https://userid@example.com:8080/) result UnknownHostException). * [ ] http://www.foo.bar./ (UnknownHostException) with 1 occurrences migrated to: https://www.foo.bar./ ([https](https://www.foo.bar./) result UnknownHostException). * [ ] http://example.org/body (404) with 10 occurrences migrated to: https://example.org/body ([https](https://example.org/body) result 404). * [ ] http://example.org/poster (404) with 6 occurrences migrated to: https://example.org/poster ([https](https://example.org/poster) result 404). * [ ] http://example.org/resource (404) with 10 occurrences migrated to: https://example.org/resource ([https](https://example.org/resource) result 404). * [ ] http://repo.spring.io/snapshots (404) with 1 occurrences migrated to: https://repo.spring.io/snapshots ([https](https://repo.spring.io/snapshots) result 404). * [ ] http://www.example.com/wpstyle/?p=364 (404) with 1 occurrences migrated to: https://www.example.com/wpstyle/?p=364 ([https](https://www.example.com/wpstyle/?p=364) result 404). * [ ] http://api.twitter.com/1/geo/id/01fbe706f872cb32.json (403) with 4 occurrences migrated to: https://api.twitter.com/1/geo/id/01fbe706f872cb32.json ([https](https://api.twitter.com/1/geo/id/01fbe706f872cb32.json) result 410). ## Fixed Success These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended. * [ ] http://asciidoctor.org with 1 occurrences migrated to: https://asciidoctor.org ([https](https://asciidoctor.org) result 200). * [ ] http://www.citrusframework.org/ (301) with 1 occurrences migrated to: https://citrusframework.org/ ([https](https://www.citrusframework.org/) result 200). * [ ] http://cloud-samples.spring.io/spring-cloud-contract-samples/workshops.html with 2 occurrences migrated to: https://cloud-samples.spring.io/spring-cloud-contract-samples/workshops.html ([https](https://cloud-samples.spring.io/spring-cloud-contract-samples/workshops.html) result 200). * [ ] http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html with 1 occurrences migrated to: https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html ([https](https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html) result 200). * [ ] http://example.org with 38 occurrences migrated to: https://example.org ([https](https://example.org) result 200). * [ ] http://example.org/ with 3 occurrences migrated to: https://example.org/ ([https](https://example.org/) result 200). * [ ] http://handlebarsjs.com/ with 1 occurrences migrated to: https://handlebarsjs.com/ ([https](https://handlebarsjs.com/) result 200). * [ ] http://martinfowler.com/articles/consumerDrivenContracts.html with 1 occurrences migrated to: https://martinfowler.com/articles/consumerDrivenContracts.html ([https](https://martinfowler.com/articles/consumerDrivenContracts.html) result 200). * [ ] http://maven.apache.org/download.cgi with 1 occurrences migrated to: https://maven.apache.org/download.cgi ([https](https://maven.apache.org/download.cgi) result 200). * [ ] http://maven.apache.org/xsd/assembly-1.1.3.xsd with 1 occurrences migrated to: https://maven.apache.org/xsd/assembly-1.1.3.xsd ([https](https://maven.apache.org/xsd/assembly-1.1.3.xsd) result 200). * [ ] http://maven.apache.org/xsd/maven-4.0.0.xsd with 17 occurrences migrated to: https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200). * [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200). * [ ] http://tools.ietf.org/html/rfc2109 with 2 occurrences migrated to: https://tools.ietf.org/html/rfc2109 ([https](https://tools.ietf.org/html/rfc2109) result 200). * [ ] http://tools.ietf.org/html/rfc2965 with 1 occurrences migrated to: https://tools.ietf.org/html/rfc2965 ([https](https://tools.ietf.org/html/rfc2965) result 200). * [ ] http://tools.ietf.org/html/rfc5988 with 1 occurrences migrated to: https://tools.ietf.org/html/rfc5988 ([https](https://tools.ietf.org/html/rfc5988) result 200). * [ ] http://tools.ietf.org/html/rfc6266 with 1 occurrences migrated to: https://tools.ietf.org/html/rfc6266 ([https](https://tools.ietf.org/html/rfc6266) result 200). * [ ] http://tools.ietf.org/html/rfc6454 with 1 occurrences migrated to: https://tools.ietf.org/html/rfc6454 ([https](https://tools.ietf.org/html/rfc6454) result 200). * [ ] http://tools.ietf.org/html/rfc7230 with 8 occurrences migrated to: https://tools.ietf.org/html/rfc7230 ([https](https://tools.ietf.org/html/rfc7230) result 200). * [ ] http://tools.ietf.org/html/rfc7231 with 19 occurrences migrated to: https://tools.ietf.org/html/rfc7231 ([https](https://tools.ietf.org/html/rfc7231) result 200). * [ ] http://tools.ietf.org/html/rfc7232 with 6 occurrences migrated to: https://tools.ietf.org/html/rfc7232 ([https](https://tools.ietf.org/html/rfc7232) result 200). * [ ] http://tools.ietf.org/html/rfc7233 with 4 occurrences migrated to: https://tools.ietf.org/html/rfc7233 ([https](https://tools.ietf.org/html/rfc7233) result 200). * [ ] http://tools.ietf.org/html/rfc7234 with 5 occurrences migrated to: https://tools.ietf.org/html/rfc7234 ([https](https://tools.ietf.org/html/rfc7234) result 200). * [ ] http://tools.ietf.org/html/rfc7235 with 4 occurrences migrated to: https://tools.ietf.org/html/rfc7235 ([https](https://tools.ietf.org/html/rfc7235) result 200). * [ ] http://www.java.com/en/download/help/error_hotspot.xml with 1 occurrences migrated to: https://www.java.com/en/download/help/error_hotspot.xml ([https](https://www.java.com/en/download/help/error_hotspot.xml) result 200). * [ ] http://www.regular-expressions.info/examples.html with 1 occurrences migrated to: https://www.regular-expressions.info/examples.html ([https](https://www.regular-expressions.info/examples.html) result 200). * [ ] http://www.slideshare.net/MarcinGrzejszczak/stick-to-the-rules-consumer-driven-contracts-201507-confitura with 2 occurrences migrated to: https://www.slideshare.net/MarcinGrzejszczak/stick-to-the-rules-consumer-driven-contracts-201507-confitura ([https](https://www.slideshare.net/MarcinGrzejszczak/stick-to-the-rules-consumer-driven-contracts-201507-confitura) result 200). * [ ] http://www.w3.org/TR/cors/ with 8 occurrences migrated to: https://www.w3.org/TR/cors/ ([https](https://www.w3.org/TR/cors/) result 200). * [ ] http://cloud.spring.io/spring-cloud-cli with 1 occurrences migrated to: https://cloud.spring.io/spring-cloud-cli ([https](https://cloud.spring.io/spring-cloud-cli) result 301). * [ ] http://code.google.com/events/ with 1 occurrences migrated to: https://code.google.com/events/ ([https](https://code.google.com/events/) result 301). * [ ] http://j.mp with 1 occurrences migrated to: https://j.mp ([https](https://j.mp) result 301). * [ ] http://plugins.jetbrains.com/plugin/6546 with 1 occurrences migrated to: https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546) result 301). * [ ] http://spockframework.github.io/ with 1 occurrences migrated to: https://spockframework.github.io/ ([https](https://spockframework.github.io/) result 301). * [ ] http://www.sonatype.org/nexus/ with 1 occurrences migrated to: https://www.sonatype.org/nexus/ ([https](https://www.sonatype.org/nexus/) result 301). * [ ] http://formvalidation.io/validators/uri/ with 1 occurrences migrated to: https://formvalidation.io/validators/uri/ ([https](https://formvalidation.io/validators/uri/) result 302). * [ ] http://repo.spring.io/libs-snapshot with 3 occurrences migrated to: https://repo.spring.io/libs-snapshot ([https](https://repo.spring.io/libs-snapshot) result 302). * [ ] http://repo.spring.io/milestone with 1 occurrences migrated to: https://repo.spring.io/milestone ([https](https://repo.spring.io/milestone) result 302). * [ ] http://repo.spring.io/release with 1 occurrences migrated to: https://repo.spring.io/release ([https](https://repo.spring.io/release) result 302). * [ ] http://repo.spring.io/snapshot with 1 occurrences migrated to: https://repo.spring.io/snapshot ([https](https://repo.spring.io/snapshot) result 302). # Ignored These URLs were intentionally ignored. * http:///a with 1 occurrences * http://3628126748 with 1 occurrences * http://??/ with 1 occurrences * http://foo with 2 occurrences * http://foo/bar with 4 occurrences * http://link/to/your/nexus/or/artifactory/or/sth with 1 occurrences * http://loanIssuance/name with 3 occurrences * http://localhost with 52 occurrences * http://localhost/partners/ with 3 occurrences * http://localhost/partners/1000/users/1001 with 2 occurrences * http://localhost:12345 with 1 occurrences * http://localhost:12346 with 1 occurrences * http://localhost:5435 with 1 occurrences * http://localhost:6060 with 1 occurrences * http://localhost:6061 with 1 occurrences * http://localhost:6063 with 1 occurrences * http://localhost:6065 with 1 occurrences * http://localhost:6066 with 1 occurrences * http://localhost:6067 with 1 occurrences * http://localhost:6565/tests with 1 occurrences * http://localhost:7070 with 1 occurrences * http://localhost:7071 with 1 occurrences * http://localhost:8080 with 3 occurrences * http://localhost:8080/api with 1 occurrences * http://localhost:8081/artifactory/libs-release-local with 2 occurrences * http://localhost:8081/artifactory/libs-release-local/com/example/bookstore/0.0.1.RELEASE/ with 1 occurrences * http://localhost:8081/artifactory/libs-release-local/com/example/bookstore/0.0.1.RELEASE/bookstore-0.0.1.RELEASE-stubs.jar with 1 occurrences * http://localhost:8888/users with 1 occurrences * http://localhost:9090 with 1 occurrences * http://localhost:9876/api/books with 2 occurrences * http://maven.apache.org/POM/4.0.0 with 34 occurrences * http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 with 2 occurrences * http://someNameThatShouldMapFraudDetectionServer/name with 3 occurrences * http://some_url with 1 occurrences * http://www.w3.org/2001/XMLSchema-instance with 18 occurrences
:input_name: jms:input
:output_name: jms:output
=== Stub Runner Camel
Spring Cloud Contract Verifier Stub Runner's messaging module gives you an easy way to
integrate with Apache Camel. For the provided artifacts, it automatically downloads the
stubs and registers the required routes.
==== Adding the Runner to the Project
You can have both Apache Camel and Spring Cloud Contract Stub Runner on the classpath.
Remember to annotate your test class with `@AutoConfigureStubRunner`.
==== Disabling the functionality
If you need to disable this functionality, set the `stubrunner.camel.enabled=false`
property.
Assume that you have the following Maven repository with deployed stubs for the
`camelService` application:
[source,bash,indent=0]
----
└── .m2
└── repository
└── io
└── codearte
└── accurest
└── stubs
└── camelService
├── 0.0.1-SNAPSHOT
│ ├── camelService-0.0.1-SNAPSHOT.pom
│ ├── camelService-0.0.1-SNAPSHOT-stubs.jar
│ └── maven-metadata-local.xml
└── maven-metadata-local.xml
----
Further assume that the stubs contain the following structure:
[source,bash,indent=0]
----
├── META-INF
│ └── MANIFEST.MF
└── repository
├── accurest
│ ├── bookDeleted.groovy
│ ├── bookReturned1.groovy
│ └── bookReturned2.groovy
└── mappings
----
Consider the following contracts (numbered *1*):
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=sample_dsl,indent=0]
----
Now consider *2*
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=sample_dsl_2,indent=0]
----
These examples lend themselves to three scenarios:
* <<camel-scenario-1>>
* <<camel-scenario-2>>
* <<camel-scenario-3>>
[[camel-scenario-1]]
===== Scenario 1 (no input message)
To trigger a message via the `return_book_1` label, use the `StubTigger` interface, as
follows:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=client_trigger,indent=0]
----
To listen to the output of the message sent to `{output_name}`:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=client_trigger_receive,indent=0]
----
The received message passes the following assertions:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=client_trigger_message,indent=0]
----
[[camel-scenario-2]]
===== Scenario 2 (output triggered by input)
Since the route is set for you, you can send a message to the `{output_name}`
destination:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=client_send,indent=0]
----
You can listen to the output of the message sent to `{output_name}`:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=client_receive,indent=0]
----
The received message passes the following assertions:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=client_receive_message,indent=0]
----
[[camel-scenario-3]]
===== Scenario 3 (input with no output)
Since the route is set for you, you can send a message to the `{output_name}`
destination:
[source,groovy]
----
include::src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/CamelStubRunnerSpec.groovy[tags=trigger_no_output,indent=0]
----