You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- this will look for the *apiKey* query parameter value in the config attribute named *apiKey*
151
-
- **authentication.query.sig**:
151
+
- **authentication.query.sig**:
152
152
```
153
153
{
154
154
"function": "md5",
@@ -169,7 +169,7 @@ Moved to [new docs](https://developers.keboola.com/extend/generic-extractor/conf
169
169
}
170
170
]
171
171
}
172
-
```
172
+
```
173
173
- this will generate a *sig* parameter value from MD5 of merged configuration table attributes *apiKey* and *secret*, followed by current *time()* at the time of the request (time() being the PHP function)
174
174
- Allowed functions are listed below in the *User functions* section
175
175
- If you're using any config parameter by using `"attr": "parameterName"`, it has to be identical string to the one in the actual config, including eventual `#` if KBC Docker's encryption is used.
@@ -468,7 +468,7 @@ Moved to [new docs](https://developers.keboola.com/extend/generic-extractor/conf
468
468
- sets which query parameter should contain the limit value (default to `limit`)
469
469
- **pagination.offsetParam**(optional)
470
470
- sets which query parameter should contain the offset value (default to `offset`)
471
-
471
+
472
472
```
473
473
"api": {
474
474
"pagination": {
@@ -478,7 +478,7 @@ Moved to [new docs](https://developers.keboola.com/extend/generic-extractor/conf
478
478
"offsetParam": "offset"
479
479
}
480
480
}
481
-
```
481
+
```
482
482
483
483
- **pagination.firstPageParams**(optional)
484
484
- Whether or not include limit and offset params in the first request (default to `true`)
@@ -769,7 +769,7 @@ Moved to [new docs](https://developers.keboola.com/extend/generic-extractor/conf
769
769
}
770
770
]
771
771
}
772
-
```
772
+
```
773
773
- **dataType**: Type of data returned by the endpoint. It also describes a table name, where the results will be stored
774
774
- **dataField**: Allows to override which field of the response will be exported.
775
775
- If there's multiple arrays in the response "root" the extractor may not know which array to export and fail
@@ -842,7 +842,7 @@ Moved to [new docs](https://developers.keboola.com/extend/generic-extractor/conf
842
842
"data": {"object": "can't really parse this!"}
843
843
}
844
844
]
845
-
```
845
+
```
846
846
847
847
- To be able to work with such response, set `"responseFilter": "data"` - it should be a path within each object of the response array, **not** including the key of the response array
848
848
- To filter values within nested arrays, use `"responseFilter": "data.array[].key"`
@@ -1218,14 +1218,77 @@ Best way to create and test new configurations is run extractor in docker contai
1218
1218
# Running tests:
1219
1219
```
1220
1220
docker compose run --rm tests
1221
-
```
1221
+
```
1222
1222
1223
1223
or (with local source code and vendor copy)
1224
1224
1225
1225
```
1226
1226
docker compose run --rm tests-local
1227
-
```
1227
+
```
1228
+
1229
+
# Debugging mTLS support
1230
+
1231
+
## Generating certificates
1232
+
1233
+
Generate CA, server and client certificates:
1234
+
1235
+
```
1236
+
# starting from project root
1237
+
cd docker/keys
1238
+
./genkeys.sh
1239
+
```
1240
+
1241
+
The script also creates a `config.json` file with the following structure to be pasted into your own `config.json`:
1242
+
1243
+
```
1244
+
"api": {
1245
+
"baseUrl": "https://server.local/",
1246
+
"caCertificate": "-- rootCA.crt --",
1247
+
"#clientCertificate": "-- client.crt bundled with client.key --",
1248
+
}
1249
+
```
1250
+
1251
+
## Testing in PHP
1252
+
1253
+
```
1254
+
to be written…
1255
+
```
1256
+
1257
+
## Testing in Python
1258
+
1259
+
1. Run local nginx server:
1260
+
```
1261
+
# starting from project root
1262
+
cd python-sync-actions
1263
+
docker compose up server.local
1264
+
```
1265
+
1. Create a `config.json` file in `python-sync-actions/data` with the following content:
1266
+
```
1267
+
{
1268
+
"parameters": {
1269
+
"__SELECTED_JOB": "0",
1270
+
"config": {
1271
+
"jobs": [
1272
+
{
1273
+
"__NAME": "mTLS check",
1274
+
"endpoint": "",
1275
+
"method": "GET"
1276
+
}
1277
+
]
1278
+
},
1279
+
"api": {
1280
+
}
1281
+
}
1282
+
}
1283
+
```
1284
+
1. Paste the `"api"` section generated in the `Generate certificates section` into the newly created config file.
# Extensions such as SAN are not coppied by default from CSR when creating the certificate, -copy_extensions is required (semi-recent addition to OpenSSL)
0 commit comments