diff --git a/docs/src/docgen-md.own b/docs/src/docgen-md.own index 972cc1b..4c33e54 100644 --- a/docs/src/docgen-md.own +++ b/docs/src/docgen-md.own @@ -13,6 +13,7 @@ MODULES = [ "files", "functional", "http", + "okhttp", "java", "math", "ounit", diff --git a/docs/src/modules/okhttp.yml b/docs/src/modules/okhttp.yml new file mode 100644 index 0000000..ef13ea8 --- /dev/null +++ b/docs/src/modules/okhttp.yml @@ -0,0 +1,210 @@ +name: okhttp +since: 2.0.0 +scope: both +constants: + - name: MultipartBody + type: 4 + typeName: map + value: MultipartBodyValue + - name: RequestBody + type: 4 + typeName: map + value: RequestBodyValue + - name: okhttp + type: 4 + typeName: map + value: OkHttpValue +functions: [] +types: + - name: CallValue + functions: + - name: cancel + args: '' + desc: '' + desc_ru: '' + - name: enqueue + args: 'onResponse, onFailure=def(call, errorMessage)' + desc: '' + desc_ru: '' + - name: execute + args: '' + desc: '' + desc_ru: '' + - name: isCanceled + args: '' + desc: '' + desc_ru: '' + - name: isExecuted + args: '' + desc: '' + desc_ru: '' + - name: MultipartBodyValue + constants: + - name: ALTERNATIVE + type: 2 + typeName: string + value: multipart/alternative + - name: DIGEST + type: 2 + typeName: string + value: multipart/digest + - name: FORM + type: 2 + typeName: string + value: multipart/form-data + - name: MIXED + type: 2 + typeName: string + value: multipart/mixed + - name: PARALLEL + type: 2 + typeName: string + value: multipart/parallel + functions: + - name: builder + args: '' + desc: returns MultipartBodyBuilderValue + desc_ru: dозвращает MultipartBodyBuilderValue + - name: MultipartBodyBuilderValue + functions: + - name: addFormData + args: 'data' + desc: '' + desc_ru: '' + - name: addFormDataPart + args: 'name, value, requestBody = empty' + desc: '' + desc_ru: '' + - name: addPart + args: 'requestBody, headers = {}' + desc: '' + desc_ru: '' + - name: build + args: '' + desc: creates and returns MultipartBodyValue + desc_ru: создаёт и возвращает MultipartBodyValue + - name: setType + args: 'type' + desc: '' + desc_ru: '' + - name: RequestBuilderValue + functions: + - name: addHeader + args: 'name, value' + desc: '' + desc_ru: '' + - name: cacheControl + args: '' + desc: '' + desc_ru: '' + - name: delete + args: 'requestBody = empty' + desc: '' + desc_ru: '' + - name: get + args: '' + desc: '' + desc_ru: '' + - name: head + args: '' + desc: '' + desc_ru: '' + - name: header + args: 'name, value' + desc: '' + desc_ru: '' + - name: headers + args: 'headersMap' + desc: '' + desc_ru: '' + - name: method + args: 'method, requestBody = empty' + desc: '' + desc_ru: '' + - name: newCall + args: 'client' + desc: creates new call, returns CallValue + desc_ru: создаёт новый вызов, возвращает CallValue + - name: patch + args: 'requestBody = empty' + desc: '' + desc_ru: '' + - name: post + args: 'requestBody = empty' + desc: '' + desc_ru: '' + - name: put + args: 'requestBody = empty' + desc: '' + desc_ru: '' + - name: removeHeader + args: 'name' + desc: '' + desc_ru: '' + - name: url + args: 'url' + desc: '' + desc_ru: '' + - name: RequestBodyValue + functions: + - name: bytes + args: 'contentType, bytes, offset = 0, bytesCount = bytes.length' + desc: '' + desc_ru: '' + - name: file + args: 'contentType, filePath' + desc: '' + desc_ru: '' + - name: string + args: 'contentType, content' + desc: '' + desc_ru: '' + - name: OkHttpValue + constants: + - name: client + type: 4 + typeName: map + value: HttpClientValue + functions: + - name: request + args: '' + desc: returns RequestBuilderValue + desc_ru: возвращает RequestBuilderValue + - name: HttpClientValue + functions: + - name: connectTimeoutMillis + args: '' + desc: '' + desc_ru: '' + - name: followRedirects + args: '' + desc: '' + desc_ru: '' + - name: followSslRedirects + args: '' + desc: '' + desc_ru: '' + - name: newCall + args: 'request' + desc: creates new call, returns CallValue + desc_ru: создаёт новый вызов, возвращает CallValue + - name: newWebSocket + args: 'request, callbacks' + desc: '' + desc_ru: '' + - name: pingIntervalMillis + args: '' + desc: '' + desc_ru: '' + - name: readTimeoutMillis + args: '' + desc: '' + desc_ru: '' + - name: retryOnConnectionFailure + args: '' + desc: '' + desc_ru: '' + - name: writeTimeoutMillis + args: '' + desc: '' + desc_ru: '' diff --git a/modules/main/src/main/java/com/annimon/ownlang/modules/okhttp/MultipartBodyBuilderValue.java b/modules/main/src/main/java/com/annimon/ownlang/modules/okhttp/MultipartBodyBuilderValue.java index b1ee7bc..9b7af75 100644 --- a/modules/main/src/main/java/com/annimon/ownlang/modules/okhttp/MultipartBodyBuilderValue.java +++ b/modules/main/src/main/java/com/annimon/ownlang/modules/okhttp/MultipartBodyBuilderValue.java @@ -8,6 +8,7 @@ import com.annimon.ownlang.lib.Value; import java.util.Map; import okhttp3.MediaType; import okhttp3.MultipartBody; +import okhttp3.RequestBody; public class MultipartBodyBuilderValue extends MapValue { @@ -56,14 +57,14 @@ public class MultipartBodyBuilderValue extends MapValue { } private Value addPart(Value[] args) { - Arguments.checkOrOr(2, 3, args.length); + Arguments.checkOrOr(1, 2, args.length); + RequestBody requestBody = Values.getRequestBody(args[0], " at first argument"); if (args.length == 1) { - builder.addPart( - Values.getRequestBody(args[0], " at first argument")); + builder.addPart(requestBody); } else { builder.addPart( - Values.getHeaders(args[0], " at first argument"), - Values.getRequestBody(args[1], " at second argument")); + Values.getHeaders(args[1], " at second argument"), + requestBody); } return this; }