Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
390a6ab
Initial commit.
sagaofsilence Feb 17, 2024
d7e8fd1
Initial commit.
sagaofsilence Feb 19, 2024
c2a9911
Merge branch 'thombergs:master' into beginner-guide-to-creating-apach…
sagaofsilence Feb 19, 2024
47b67c3
Updated helper classes for simple built in types and user defined types.
sagaofsilence Feb 20, 2024
6cd850b
Refactored code and tests.
sagaofsilence Feb 22, 2024
92b5533
Refactored code and tests.
sagaofsilence Feb 24, 2024
1b2c0bb
Refactored code and tests.
sagaofsilence Feb 25, 2024
616f2c4
Added dep for caching.
sagaofsilence Mar 24, 2024
979c8d6
Refactored code.
sagaofsilence Mar 25, 2024
1cfab36
Refactored code.
sagaofsilence Mar 25, 2024
8c763da
Refactored code.
sagaofsilence Mar 28, 2024
ecce9bf
Added examples for pipeline and multiplexing.
sagaofsilence Mar 31, 2024
ad2fe40
Added examples for interceptors.
sagaofsilence Apr 13, 2024
c3ddc2e
Updated tests.
sagaofsilence Apr 13, 2024
a8afcc7
Updated callback, test and helper.
sagaofsilence Apr 14, 2024
94b2ad6
Added example and test for reative async api.
sagaofsilence Apr 14, 2024
db1b783
Code cleanup
sagaofsilence Apr 14, 2024
47c9443
adding codebase skeleton
hardikSinghBehl Apr 16, 2024
0e49c37
adding custom bucket configuration properties
hardikSinghBehl Apr 16, 2024
f93dbe4
adding service layer to interact with s3 bucket
hardikSinghBehl Apr 16, 2024
40fbc9c
adding integration tests
hardikSinghBehl Apr 16, 2024
d4e3545
adding delete operation
hardikSinghBehl Apr 16, 2024
91572d8
fix: indentation
hardikSinghBehl Apr 16, 2024
7a2a648
containerizing application for local development
hardikSinghBehl Apr 16, 2024
b8c3f6d
updating save operation
hardikSinghBehl Apr 16, 2024
14ba3ba
updating StorageServiceIT.java
hardikSinghBehl Apr 16, 2024
acbf3ff
making presigned url validity random in tests
hardikSinghBehl Apr 16, 2024
ee10b74
adding helper to reduce testcontainer boilerplate code
hardikSinghBehl Apr 16, 2024
9d31135
adding workflow for codebase
hardikSinghBehl Apr 16, 2024
80d82fc
adding javadocs for bucket configuration properties
hardikSinghBehl Apr 16, 2024
f597601
adding module in build-all.sh
hardikSinghBehl Apr 16, 2024
48dc75c
adding README.md
hardikSinghBehl Apr 16, 2024
6416aa9
updating docker-compose.yml
hardikSinghBehl Apr 16, 2024
a0cdf83
adding spring-cloud BOM
hardikSinghBehl Apr 16, 2024
d58e2d3
updating README.md
hardikSinghBehl Apr 17, 2024
b7c3248
adding custom bucket validation
hardikSinghBehl Apr 17, 2024
c2297ba
using S3Template in BucketExistenceValidator
hardikSinghBehl Apr 17, 2024
79dd4c1
updating service layer to use S3Template
hardikSinghBehl Apr 17, 2024
6c5f79a
adding publisher microservice
hardikSinghBehl Apr 22, 2024
fc07edd
updating description
hardikSinghBehl Apr 22, 2024
9b56508
adding subscriber microservice
hardikSinghBehl Apr 22, 2024
dcd5f2f
adding .gitignore
hardikSinghBehl Apr 22, 2024
08a549e
containerizing project using localstack
hardikSinghBehl Apr 22, 2024
0279ccb
updating build-all.sh
hardikSinghBehl Apr 22, 2024
eb38227
Update README.md
hardikSinghBehl Apr 22, 2024
04c0f08
Update README.md
hardikSinghBehl Apr 22, 2024
3cc77b3
upgrading spring-boot version
hardikSinghBehl Apr 22, 2024
909f652
updating main class names
hardikSinghBehl Apr 22, 2024
b3e0ec6
updating article URL
hardikSinghBehl Apr 22, 2024
b3e04cc
adding integration-test
hardikSinghBehl Apr 23, 2024
18f445e
Merge branch 'thombergs:master' into beginner-guide-to-creating-apach…
sagaofsilence Apr 23, 2024
fdcd294
updating init script for IT
hardikSinghBehl Apr 24, 2024
ff1a2a7
fix: init hook script name
hardikSinghBehl Apr 24, 2024
684269f
updating .gitignore
hardikSinghBehl Apr 25, 2024
d2bd9df
upgrading localstack version
hardikSinghBehl Apr 25, 2024
06e40eb
fix comments in integration test
hardikSinghBehl Apr 26, 2024
437f903
deleting workflow
hardikSinghBehl Apr 28, 2024
229103b
updating .gitignore
hardikSinghBehl Apr 28, 2024
e5ed3a6
updating article URL
hardikSinghBehl Apr 28, 2024
42c3505
updating build-all.sh
hardikSinghBehl Apr 28, 2024
6760eb4
updating article title
hardikSinghBehl Apr 28, 2024
8bd683d
fix: formatting
hardikSinghBehl Apr 29, 2024
4e3337d
updating bean declaration annotation
hardikSinghBehl Apr 29, 2024
c124ad2
upgrading localstack version
hardikSinghBehl Apr 30, 2024
71e243e
Merge pull request #303 from hardikSinghBehl/codebase/spring-cloud-sn…
Maiklins May 4, 2024
d370b0d
Merge branch 'thombergs:master' into codebase/spring-cloud-aws-s3
hardikSinghBehl May 5, 2024
87faeee
updating build-all.sh
hardikSinghBehl May 5, 2024
de4fec3
Merge remote-tracking branch 'refs/remotes/origin/master' into beginn…
sagaofsilence May 8, 2024
99d6dd9
Code cleanup, refactored code to reduce length of functions.
sagaofsilence May 9, 2024
504dc9d
enhancement: presigned-url validity getter
hardikSinghBehl May 10, 2024
c6a4e22
updating README.md
hardikSinghBehl May 14, 2024
cdbc755
adding local setup commands
hardikSinghBehl May 15, 2024
3babaa1
Refactored code into small methods to improve readability.
sagaofsilence May 27, 2024
e5c8216
Merge pull request #302 from hardikSinghBehl/codebase/spring-cloud-aw…
Maiklins May 27, 2024
f536ca5
Merge pull request #299 from sagaofsilence/beginner-guide-to-creating…
Maiklins May 29, 2024
f013132
Added assertAll and assertDoesNotThrow test
sagaofsilence Jun 8, 2024
580b091
added test for assertThrows
sagaofsilence Jun 8, 2024
93a6a51
Added test for assertTimeout
sagaofsilence Jun 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Initial commit.
Added basic files.
Added tests for basic http processing and response handler
  • Loading branch information
sagaofsilence committed Feb 17, 2024
commit 390a6ab0f0900e032db1277cabe8aa3658284f64
29 changes: 29 additions & 0 deletions apache-http-client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
HELP.md
target/*
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

.classpath
.factorypath
.project
.settings
.springBeans

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/
117 changes: 117 additions & 0 deletions apache-http-client/.mvn/wrapper/MavenWrapperDownloader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;

public class MavenWrapperDownloader {

private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";

/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";

/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";

/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";

public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());

// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);

File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}

private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}

}
Binary file added apache-http-client/.mvn/wrapper/maven-wrapper.jar
Binary file not shown.
2 changes: 2 additions & 0 deletions apache-http-client/.mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 changes: 3 additions & 0 deletions apache-http-client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Related Blog Posts

* [Create a Http Client with Apache Http Client](https://reflectoring.io/create-a-http-client-with-apache-http-client/)
Loading