Skip to content

Commit 60d72f0

Browse files
committed
feat(scala): switch api key helper
1 parent 2ad9232 commit 60d72f0

File tree

4 files changed

+22
-2
lines changed

4 files changed

+22
-2
lines changed

clients/algoliasearch-client-scala/src/main/scala/algoliasearch/ApiClient.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,8 @@ abstract class ApiClient(
8989
override def close(): Unit = {
9090
Try(requester.close())
9191
}
92+
93+
def setApiKey(apiKey: String): Unit = {
94+
requester.setApiKey(apiKey)
95+
}
9296
}

clients/algoliasearch-client-scala/src/main/scala/algoliasearch/config/Requester.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,8 @@ trait Requester extends AutoCloseable {
2121
httpRequest: HttpRequest,
2222
requestOptions: Option[RequestOptions]
2323
): T
24+
25+
def setApiKey(apiKey: String): Unit = {
26+
println("Nothing to do here")
27+
}
2428
}

clients/algoliasearch-client-scala/src/main/scala/algoliasearch/internal/HttpRequester.scala

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ private[algoliasearch] class HttpRequester private (
4444
clientBuilder.build()
4545
}
4646

47+
override def setApiKey(apiKey: String): Unit = {
48+
httpClient.newBuilder().addInterceptor(new Interceptor {
49+
override def intercept(chain: Interceptor.Chain): Response = {
50+
val request = chain.request().newBuilder().addHeader("X-Algolia-API-Key", apiKey).build()
51+
chain.proceed(request)
52+
}
53+
})
54+
}
55+
4756
private val jsonSerializer = JsonSerializer()(builder.formats)
4857
private val isClosed: AtomicBoolean = new AtomicBoolean(false)
4958

config/generation.config.mjs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ export const patterns = [
7171
'!clients/algoliasearch-client-javascript/scripts/**',
7272
'!clients/algoliasearch-client-javascript/tests/**',
7373
// the release process is allowed to push changes to this file, but in general we don't because those files are generated
74-
process.env.RELEASE ? '!clients/algoliasearch-client-javascript/packages/**/package.json' : 'clients/algoliasearch-client-javascript/packages/**/package.json',
74+
process.env.RELEASE
75+
? '!clients/algoliasearch-client-javascript/packages/**/package.json'
76+
: 'clients/algoliasearch-client-javascript/packages/**/package.json',
7577
'!clients/algoliasearch-client-javascript/packages/requester-*/**',
7678
'!clients/algoliasearch-client-javascript/packages/client-common/**',
7779
'!clients/algoliasearch-client-javascript/packages/algoliasearch/__tests__/**',
@@ -142,6 +144,7 @@ export const patterns = [
142144
'!clients/algoliasearch-client-scala/**',
143145
'clients/algoliasearch-client-scala/version.sbt',
144146
'clients/algoliasearch-client-scala/src/main/scala/algoliasearch/**',
147+
'!clients/algoliasearch-client-scala/src/main/scala/algoliasearch/ApiClient.scala',
145148
'!clients/algoliasearch-client-scala/src/main/scala/algoliasearch/exception/**',
146149
'!clients/algoliasearch-client-scala/src/main/scala/algoliasearch/internal/**',
147150
'!clients/algoliasearch-client-scala/src/main/scala/algoliasearch/config/**',
@@ -166,5 +169,5 @@ export const patterns = [
166169
'!tests/output/swift/handwritten/**',
167170
'!tests/output/swift/Utils/**',
168171

169-
'clients/**/LICENSE'
172+
'clients/**/LICENSE',
170173
];

0 commit comments

Comments
 (0)