* Clarify pathname docs, follow spec with fragments
- Valid URLs must not contain a `#` within its fragment.
https://github.com/MithrilJS/mithril.js/issues/2445
- Our docs were a little confusing and misleading - `m.pathname` isn't
aware of URLs, just path names.
- Removed the relevant extension to `m.parseQueryString` required to
support the hash parsing extension. Now we just shave it off and
ignore it.
- Fix support for arbitrary prefixes, so prefixes like `?#` are
handled correctly.
- Add a bunch of tests to cover various areas of confusion and unusual
edge cases.
* Update with PR [skip ci]
* Update docs/request.md
* Bring some sanity to request parsing and error handling
- The browser can do JSON parsing itself. Let's defer to that where
possible. (A few IE hacks are required here, though.)
- Don't propagate any error that occurs before `deserialize`/`extract`.
- Allow sending raw array buffers/blobs/etc. to `deserialize`.
- Align behavior more closely with the XHR spec.
- Send the more useful parsed response to `deserialize`, not the less
useful string response.
I basically recast it to remove 99% of the duplication. They're
basically the same function mod how they fire their requests and append
query parameters.