Skip to content

Commit 7ea4e37

Browse files
Merge pull request #507 from appwrite/feat-add-user-agent
2 parents 084a04f + f7883d5 commit 7ea4e37

File tree

9 files changed

+15
-3
lines changed

9 files changed

+15
-3
lines changed

src/SDK/Language/PHP.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,10 @@ public function getFilters(): array
384384
return [
385385
new TwigFilter('getReturn', function ($value) {
386386
return $this->getReturn($value);
387-
})
387+
}),
388+
new TwigFilter('deviceInfo', function ($value) {
389+
return php_uname('s') . '; ' . php_uname('v') . '; ' . php_uname('m');
390+
}),
388391
];
389392
}
390393
}

templates/dart/lib/src/client_io.dart.twig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class ClientIO extends ClientBase with ClientMixin {
4343
'x-sdk-platform': '{{ sdk.platform }}',
4444
'x-sdk-language': '{{ language.name | caseLower }}',
4545
'x-sdk-version': '{{ sdk.version }}',
46+
'user-agent' : '{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} ({{Platform.operatingSystem}}; {{Platform.operatingSystemVersion}})',
4647
{% for key,header in spec.global.defaultHeaders %}
4748
'{{key}}' : '{{header}}',
4849
{% endfor %}

templates/deno/src/client.ts.twig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export class Client {
1111
endpoint: string = '{{spec.endpoint}}';
1212
headers: Payload = {
1313
'content-type': '',
14+
'user-agent' : `{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} (${Deno.build.os}; ${Deno.build.arch})`,
1415
'x-sdk-name': '{{ sdk.name }}',
1516
'x-sdk-platform': '{{ sdk.platform }}',
1617
'x-sdk-language': '{{ language.name | caseLower }}',

templates/dotnet/src/Appwrite/Client.cs.twig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ namespace {{ spec.title | caseUcfirst }}
3030
this.headers = new Dictionary<string, string>()
3131
{
3232
{ "content-type", "application/json" },
33+
{ "user-agent" , "{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} (${Environment.OSVersion.Platform}; ${Environment.OSVersion.VersionString})"},
3334
{ "x-sdk-name", "{{ sdk.name }}" },
3435
{ "x-sdk-platform", "{{ sdk.platform }}" },
3536
{ "x-sdk-language", "{{ language.name | caseLower }}" },

templates/go/client.go.twig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"strconv"
1919
"strings"
2020
"time"
21+
"runtime"
2122
)
2223

2324
const (
@@ -65,6 +66,7 @@ func NewClient() Client {
6566
headers := map[string]string{
6667
{% for key,header in spec.global.defaultHeaders %}
6768
"{{key}}" : "{{header}}",
69+
"user-agent" : fmt.Sprintf("{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} (%s; %s)", runtime.GOOS, runtime.GOARCH),
6870
"x-sdk-name": "{{ sdk.name }}",
6971
"x-sdk-platform": "{{ sdk.platform }}",
7072
"x-sdk-language": "{{ language.name | caseLower }}",
@@ -387,4 +389,4 @@ func toString(arg interface{}) string {
387389
default:
388390
return fmt.Sprintf("%s", v)
389391
}
390-
}
392+
}

templates/kotlin/src/main/kotlin/io/appwrite/Client.kt.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ class Client @JvmOverloads constructor(
6262
init {
6363
headers = mutableMapOf(
6464
"content-type" to "application/json",
65+
"user-agent" to "{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} ${System.getProperty("http.agent")}",
6566
"x-sdk-name" to "{{ sdk.name }}",
6667
"x-sdk-platform" to "{{ sdk.platform }}",
6768
"x-sdk-language" to "{{ language.name | caseLower }}",
6869
"x-sdk-version" to "{{ sdk.version }}"{% if spec.global.defaultHeaders | length > 0 %},{% endif %}
69-
7070
{% for key,header in spec.global.defaultHeaders %}
7171
"{{ key | caseLower }}" to "{{ header }}"{% if not loop.last %},{% endif %}
7272
{% endfor %}

templates/node/lib/client.js.twig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
const os = require('os');
12
const URL = require('url').URL;
23
const axios = require('axios');
34
const FormData = require('form-data');
@@ -11,6 +12,7 @@ class Client {
1112
this.headers = {
1213
'accept-encoding': '*',
1314
'content-type': '',
15+
'user-agent' : `{{spec.title | caseUcfirst}}{{language.name | caseUcfirst}}SDK/{{ sdk.version }} (${os.type()}; ${os.version()}; ${os.arch()})`,
1416
'x-sdk-name': '{{ sdk.name }}',
1517
'x-sdk-platform': '{{ sdk.platform }}',
1618
'x-sdk-language': '{{ language.name | caseLower }}',

templates/php/src/Client.php.twig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class Client
3737
*/
3838
protected $headers = [
3939
'content-type' => '',
40+
'user-agent' => '{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} ({{deviceInfo}})',
4041
'x-sdk-name'=> '{{ sdk.name }}',
4142
'x-sdk-platform'=> '{{ sdk.platform }}',
4243
'x-sdk-language'=> '{{ language.name | caseLower }}',

templates/python/package/client.py.twig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class Client:
1111
self._endpoint = '{{spec.endpoint}}'
1212
self._global_headers = {
1313
'content-type': '',
14+
'user-agent' : '{{spec.title | caseUcfirst}}{{ language.name | caseUcfirst }}SDK/{{ sdk.version }} (${os.uname().sysname}; ${os.uname().version}; ${os.uname().machine})',
1415
'x-sdk-name': '{{ sdk.name }}',
1516
'x-sdk-platform': '{{ sdk.platform }}',
1617
'x-sdk-language': '{{ language.name | caseLower }}',

0 commit comments

Comments
 (0)