Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

post payload truncated if it contains an and symbol #37

Open
laserfox opened this issue Feb 25, 2014 · 4 comments
Open

post payload truncated if it contains an and symbol #37

laserfox opened this issue Feb 25, 2014 · 4 comments

Comments

@laserfox
Copy link

example:

params = { 'content' : {
'Subject' : 'Janet & John',
'Text' : 'hello all,
}
}

the Subject in params is truncated and RT only receives the 'Janet'

@heresandyboy
Copy link

I'll try this when I get home, but does the ampersand need to be encoded, URL encoding would be "%26" or html encoded with "&" without the quotes obviously. I'll do some testing in the next hour and get back to you.

@heresandyboy
Copy link

Hmm the coments box changed my html encoded ampersand back to &, so its " & amp ; " without the spaces. But I bet you knew that already.

@laserfox
Copy link
Author

Not sure if it is related, or similar, but z4r closed a similar issue 3
months ago here:

#34

this was concerning content that contained a semicolon rather than an
and symbol

On 25/02/14 18:30, heresandyboy wrote:

Hmm the coments box changed my html encoded ampersand back to &, so its " & amp ; " without the spaces. But I bet you knew that already.


Reply to this email directly or view it on GitHub:
#37 (comment)

@heresandyboy
Copy link

Sorry it took so long to get around to this.
I tested HTML encoding the ampersand and still experienced truncating in the subject, but not in the body strangely. I discovered that URL Encoding the '&' as %26 resulted in the correct subject being set.
Like so:

params = {
'content': {
'Queue': 'Test Queue' ,
'Subject': 'Janet %26 John',
'Text': 'Hello all.',
}
}

That resulted in a new ticket with 'Janet & John as the subject.
So its clear the subject payload needs to be URL Encoded, having a look at the issue you mentioned above, this should have been covered by the use of urllib.quote in forms.py
I had a go at fixing it but not quite there yet, and its bed time, I'll be happy to take a look tomorrow.

In the mean time, you can do the following to work around the problem:

params = {
'content': {
'Queue': 'Test Queue' ,
'Subject': urllib.quote('Janet & John'),
'Text': 'Hello all.',
}
}

Results in a new ticket with 'Janet & John' as the subject and no truncating.
:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants