I have the following curl to send GPS data to my odoo server. It worked fine. But when I try doing it in volley kotlin/androidstudio it does not work. Please help.
curl -X POST -H"Content-Type: multipart/form-data" -F coordinates=[4.5232, -96.4242] url
Here is the code snippet I've tried so far:
var lat: Float = intent.getFloatExtra("LATITUDE",0f)
var lng: Float = intent.getFloatExtra("LONGITUDE",0f)
val coordinatesRequest = object: JsonObjectRequest(Request.Method.POST,
                "http://url.com",
                null,
                Response.Listener<JSONObject>{response ->
                    Log.d(TAG,"Response: ${format(response.toString())}")
                },
                Response.ErrorListener { error ->
                    com.android.volley.VolleyLog.e(TAG,"/post request failed! Error: ${error.message}")
                }) {
                //override fun getBodyContentType(): String {
                    //return MULTIPART_FORMDATA
                //}
                override fun getBody(): ByteArray {
                    val params1 = HashMap<String, String>()
                    params1.put("coordinates","[$lat,$lng]")
                    val charset = Charsets.US_ASCII
                    //val map: List<String> = params.map {
                            //(key, value) -> "--$BOUNDARY\nContent-Disposition: form-data; name=\"$key\"\n\n$value\n"
                    //}
                    //val endResult = "${map.joinToString("")}\n--$BOUNDARY--\n"
                    return params1.toString().toByteArray(charset)
                }
                override fun getHeaders(): MutableMap<String, String> {
                    val headers = HashMap<String,String>()
                    headers.put("Content-Type","multipart/form-data")
                    return headers
                }
            }
            Log.d(TAG, "lo que envío: ${coordinatesRequest.body}")
            HttpRequestSingleton.getInstance(context.applicationContext).addToRequestQueue(coordinatesRequest)
        }
 
    