java - org.restlet.routing.Router doesn't seem to accept encoded slashes -


i using restlet , having issues router template variable in template contains encoded slashes. here's details:

when use route:

/blob/sqlserver/{uniqueid} 

and pass (note %2f /):

/blob/sqlserver/refinance-other%2ffrm%2f660-700%2f4.00-4.50%2fproperties-4.00-4.50.csv 

or this:

/blob/sqlserver/refinance-other/frm/660-700/4.00-4.50/properties-4.00-4.50.csv 

i 404

if use router:

/blob/sqlserver/{purpose}/{type}/{creditscore}/{interestrate}/{file} 

and pass this:

/blob/sqlserver/refinance-other/frm/660-700/4.00-4.50/properties-4.00-4.50.csv 

it works, can't way, because don't control sending me uri , variables change, has encoded slashes.

to test further tried template again:

/blob/sqlserver/{uniqueid} 

but used mode_starts_with

.setmatchingmode(template.mode_starts_with); 

when that, find this:

/blob/sqlserver/refinance-other/frm/660-700/4.00-4.50/properties-4.00-4.50.csv 

but "refinance-other" variable under uniqueid.

however, encoded slashes still doesn't work, seems odd? why work above non-encoded uri mode_starts_with , not uri?:

/blob/sqlserver/refinance-other%2ffrm%2f660-700%2f4.00-4.50%2fproperties-4.00-4.50.csv 

it ended url encoding being decoded before got me, these 2 posts helped me figure out. proof, double encoding worked:

is slash ("/") equivalent encoded slash ("%2f") in path portion of http url

allow_encoded_slash on aws elasticbeanstalk

and @ first response ticket:

https://issues.jboss.org/browse/jbseam-3990


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -