Comments (6)
@jonathan-kosgei Hi.
Actually, everything works as expected.
- if you call curl in verbose mode, you'll see redirect TSR:
curl -vvvvv 127.1:8080/joe/
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.1 (127.0.0.1) port 8080 (#0)
> GET /joe/ HTTP/1.1
> Host: 127.1:8080
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: fasthttp
< Date: Tue, 24 Sep 2019 17:27:28 GMT
< Content-Length: 0
< Location: http://127.1:8080/joe
<
* Connection #0 to host 127.1 left intact
- then, if you set -L flag to follow redirects, you'll see that your request is processed correctly:
curl -L -vvvvv 127.1:8080/joe/
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.1 (127.0.0.1) port 8080 (#0)
> GET /joe/ HTTP/1.1
> Host: 127.1:8080
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: fasthttp
< Date: Tue, 24 Sep 2019 17:28:13 GMT
< Content-Length: 0
< Location: http://127.1:8080/joe
<
* Connection #0 to host 127.1 left intact
* Issue another request to this URL: 'http://127.1:8080/joe'
* Found bundle for host 127.1: 0x7f89d7008360 [can pipeline]
* Re-using existing connection! (#0) with host 127.1
* Connected to 127.1 (127.0.0.1) port 8080 (#0)
> GET /joe HTTP/1.1
> Host: 127.1:8080
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: fasthttp
< Date: Tue, 24 Sep 2019 17:28:13 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 7
<
Hi joe
* Connection #0 to host 127.1 left intact
from router.
You're right! My bad, thank you for explaining this.
from router.
Is there a way to handle this without a redirect?
from router.
Do you mean to process and send the correct response without redirection?
from router.
Yes, to match the route without a redirect, I'm building an developer-focused API so a lot of users will try out the service from their command lines and they will not know they need to setup following redirects with curl.
from router.
I'm sorry, but these is not the correct functioning, because the registered path is not the requested path. That's why redirection is done only when the difference is the trailing slash.
You could make the following redirect until end, and for the new requests go to the correct path, just like the browsers done (transparent to the user)
from router.
Related Issues (20)
- Not removing superfluous path elements like //// HOT 5
- ServeFilesCustom responds for a long time when requesting a non existent file HOT 4
- Behavior change in 1.3.2 with double slashes when RedirectFixedPath is false HOT 4
- ServeFilesCustom calls PanicHandler if file does not exist HOT 2
- Consultation on route matching HOT 1
- Get Matched Route HOT 1
- Why this routing doesn't work? HOT 4
- Issue with catch-all parameter HOT 1
- How to integrate with Prometheus HOT 1
- Documentation for router.Lookup out of date HOT 2
- Group wide middlewares
- gotils is gpl HOT 2
- CORS allow ? HOT 1
- Path Route HOT 1
- how to serve files using embed? HOT 2
- incorrect regex match HOT 2
- path validation breaks group usage HOT 1
- panic: path must begin with '/' in path '' group.go:19 HOT 1
- Middleware for Group
- how to support path with and without trailing slash ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from router.