Problem with body while sending a pushbullet notification

156 views Asked by At

I have a weird issue while sending a PushBullet notification. I can send the notification if the richtextbox contains text like:

this is text

It doesn't send anything if richtextbox is:

this
is text

or:

this
is
text

I've tried using regex replace to remove all the white spaces but it doesn't work. The code I'm using for sending notification:

Private Sub PushBullet()

    'PUSHBULLET
    Dim token As String = "pushbullet token"            
    Dim title As String = "Notication Title"                             
    Dim body As String
    body = Regex.Replace(RichTextBox1.Text, "^\s+$[\r\n]*", "", RegexOptions.Multiline)
    

    Try
        ' Create a request using a URL that can receive a post.'
        Dim Request As HttpWebRequest = CType(WebRequest.Create("https://api.pushbullet.com/v2/pushes"), HttpWebRequest)

        ' Set the Method property of the request to POST.'
        Request.Method = "POST"

        ' Create POST data and convert it to a byte array.'
        Dim postData As String = "{""type"": ""note"", ""title"": """ & title & """, ""body"": """ & body & """}"
        Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)

        ' Set the ContentLength property of the WebRequest.'
        Request.ContentLength = byteArray.Length
        ' Set the ContentType property of the WebRequest.'
        Request.ContentType = "application/json"
        ' Add the token to header.'
        Request.Headers.Add("Access-Token", token)
        ' Get the request stream.'
        Dim dataStream As Stream = Request.GetRequestStream()
        ' Write the data to the request stream.'
        dataStream.Write(byteArray, 0, byteArray.Length)
        ' Close the Stream object.'
        dataStream.Close()
        ' Get the response.'
        Dim response As WebResponse = Request.GetResponse()
        ' Get the stream containing content returned by the server.'
        dataStream = response.GetResponseStream()
        ' Open the stream using a StreamReader for easy access.'
        Dim reader As New StreamReader(dataStream)
        ' Read the content.'
        Dim responseFromServer As String = reader.ReadToEnd()
        ' Show result in RichTextBox.'
        '  RichTextBox1.Text = responseFromServer
        ' Clean up the streams.'
        reader.Close()
        dataStream.Close()
        response.Close()
    Catch ex As Exception
    End Try
End Sub

Any idea? Thanks

1

There are 1 answers

1
AudioBubble On

I Solved using:

   TextBox1.Text = TextBox1.Text.Replace(vbLf, " ").Replace(vbCr, "")