Commit graph

12 commits

Author SHA1 Message Date
Sönke Ludwig 07e077a009
Redesign the Path type to statically encode the path format.
The previous design, while intended as an improvement over the one-size-fits all Path struct of vibe-d:core, turned out to produce lots of bugs during the transition, because of missing Path.type checks.

The new design uses a cleaner approach, where the static type of a path value encodes the path format. An explicit cast is necessary to convert between different path types. The internet path type also performs proper validation and percent encoding, so that InetPath.toString() always produces a valid URI path.
2017-06-21 14:04:24 +02:00
Sönke Ludwig 0d164708ec Fix Windows->inet/Posix path conversion issue. 2017-06-15 10:04:55 +02:00
Sönke Ludwig 62e3add3ab Fix a number of issues related to mixing different path types. 2017-06-12 17:33:25 +02:00
Sönke Ludwig 77eddebe45 Improve Path compatibility with the original implementation. 2017-03-10 19:53:07 +01:00
Sönke Ludwig 3f83bef219 Fix Path.parentPath and Path.toString for PathType.windows. 2017-02-18 16:00:27 +01:00
Sönke Ludwig e80d7244bc
Add PathEntry.validateFilename. 2017-01-19 00:33:52 +01:00
Sönke Ludwig fb706ea0b6
Properly implement struct Path.
The new implementation is @nogc where possible.
2017-01-17 23:50:33 +01:00
Sönke Ludwig 4b4e1575dc Extend the Path interface somewhat. 2016-11-08 14:48:18 +01:00
Sönke Ludwig d5e19e1db6 Disable failing unit tests until Path is properly implemented. 2016-11-02 21:02:36 +01:00
Sönke Ludwig c7e1468c87 Extend the Path interface (not yet fully implemented). 2016-11-02 21:00:13 +01:00
Sönke Ludwig 12daa5c575 Add Path concatenation operators. 2016-10-25 08:56:05 +02:00
Sönke Ludwig 7e2d1dd038 Initial commit.
The library is able to support simple TCP servers in the current state. The API is still mostly compatible with mainline vibe.d, but the driver systen has been replaced by the eventcore library and sockets/files/timers/... are now structs with automatic reference counting instead of GC collected classes. The stream interfaces have been removed for now.
2016-03-01 20:30:42 +01:00