<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fastcgi-conduit/src, branch v0.2.1</title>
<subtitle>Conduit interface for the fastcgi crate</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/'/>
<entry>
<title>FastCgiRequest::path: Get path from `REQUEST_URI`</title>
<updated>2020-07-18T17:07:22+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-18T17:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=287c8514ee2efe80a5fce3ddbd15d886b459116c'/>
<id>287c8514ee2efe80a5fce3ddbd15d886b459116c</id>
<content type='text'>
Use the `REQUEST_URI` param instead of `SCRIPT_NAME` to get the request
path.

Using `SCRIPT_NAME` caused issues with redirects.

If my FastCGI program has the file name `script.fcgi`, and I set up a
redirect from `/script` to `/script.fcgi`, then `path()` should return
`/script` when using that path.

In the above case, because we were using the `SCRIPT_NAME` param,
`path()` would return `/script.fcgi` instead.

This caused routes defined with a `RouteBuilder` to not match correctly.

Now that we're using `REQUEST_URI`, we need to trim the query string and
hash, which are included in the param value, since we only want the URI
path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the `REQUEST_URI` param instead of `SCRIPT_NAME` to get the request
path.

Using `SCRIPT_NAME` caused issues with redirects.

If my FastCGI program has the file name `script.fcgi`, and I set up a
redirect from `/script` to `/script.fcgi`, then `path()` should return
`/script` when using that path.

In the above case, because we were using the `SCRIPT_NAME` param,
`path()` would return `/script.fcgi` instead.

This caused routes defined with a `RouteBuilder` to not match correctly.

Now that we're using `REQUEST_URI`, we need to trim the query string and
hash, which are included in the param value, since we only want the URI
path.
</pre>
</div>
</content>
</entry>
<entry>
<title>server.rs: Remove canonical status name from "Status" header</title>
<updated>2020-07-18T17:03:39+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-18T17:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=e3f4e806cad703def89c7a96c06bda8dfd94990a'/>
<id>e3f4e806cad703def89c7a96c06bda8dfd94990a</id>
<content type='text'>
This seemed to cause the name to be doubled in the final Apache HTTP
header.

Since it could cause that issue and is not necessary, we can remove it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This seemed to cause the name to be doubled in the final Apache HTTP
header.

Since it could cause that issue and is not necessary, we can remove it.
</pre>
</div>
</content>
</entry>
<entry>
<title>FastCgiRequest: Implement `conduit::RequestExt::path_mut`</title>
<updated>2020-07-16T22:22:26+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-16T22:22:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=eda49deb67195b0348b013222bb077ac7d381e31'/>
<id>eda49deb67195b0348b013222bb077ac7d381e31</id>
<content type='text'>
The latest version of Conduit, 0.9.0-alpha.3, adds a new `path_mut`
method.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The latest version of Conduit, 0.9.0-alpha.3, adds a new `path_mut`
method.
</pre>
</div>
</content>
</entry>
<entry>
<title>server.rs: Fix HTTP status code header</title>
<updated>2020-07-15T22:27:10+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-15T22:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=aabde54acf646eaa5d0c4500115ff1805b027d1a'/>
<id>aabde54acf646eaa5d0c4500115ff1805b027d1a</id>
<content type='text'>
I was getting persistent 500 errors on Apache with mod_fastcgi:

    FastCGI: comm with server "/Applications/MAMP/htdocs/test.fcgi"
    aborted: error parsing headers: malformed header 'HTTP/1.1 200 OK'

Forgot that you need to use a "Status" header for FastCGI to set the
HTTP status code, like:

    Status: 404

This isn't an HTTP server. Apparently knew this at one point for the
DomeKey web site, but completely forgot.

Thanks to Ole (https://stackoverflow.com/users/312098/ole) and
RichieHindle (https://stackoverflow.com/users/21886/richiehindle) on
Stack Overflow for this question and answer that helped me figure it
out:
https://stackoverflow.com/questions/11223166/malformed-header-from-script-bad-header-http-1-1-302-found

Didn't notice this previously as I was using Lighttpd for testing, and
its FastCGI module must be more forgiving.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I was getting persistent 500 errors on Apache with mod_fastcgi:

    FastCGI: comm with server "/Applications/MAMP/htdocs/test.fcgi"
    aborted: error parsing headers: malformed header 'HTTP/1.1 200 OK'

Forgot that you need to use a "Status" header for FastCGI to set the
HTTP status code, like:

    Status: 404

This isn't an HTTP server. Apparently knew this at one point for the
DomeKey web site, but completely forgot.

Thanks to Ole (https://stackoverflow.com/users/312098/ole) and
RichieHindle (https://stackoverflow.com/users/21886/richiehindle) on
Stack Overflow for this question and answer that helped me figure it
out:
https://stackoverflow.com/questions/11223166/malformed-header-from-script-bad-header-http-1-1-302-found

Didn't notice this previously as I was using Lighttpd for testing, and
its FastCGI module must be more forgiving.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add license (GNU GPLv3+)</title>
<updated>2020-07-04T14:09:52+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-04T14:09:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=0bbb1cdb1978d0ff0b06a700016640f0642d95d5'/>
<id>0bbb1cdb1978d0ff0b06a700016640f0642d95d5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Server::start: Return a `Server` directly instead of a `Result`</title>
<updated>2020-07-04T13:50:24+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-04T13:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=a95349de02343a89ba9b485861f57c17d39490e9'/>
<id>a95349de02343a89ba9b485861f57c17d39490e9</id>
<content type='text'>
We don't have any `Result`s to propagate in this function, so the
`Result` return wrapper is unnecessary.

Must have copied this signature from Civet without thinking:
https://github.com/conduit-rust/rust-civet/blob/ab9c52ca634f65439060c2248295d2ac354aead5/src/lib.rs#L214
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't have any `Result`s to propagate in this function, so the
`Result` return wrapper is unnecessary.

Must have copied this signature from Civet without thinking:
https://github.com/conduit-rust/rust-civet/blob/ab9c52ca634f65439060c2248295d2ac354aead5/src/lib.rs#L214
</pre>
</div>
</content>
</entry>
<entry>
<title>request::Error: Remove context from error variants</title>
<updated>2020-07-04T13:38:32+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-04T13:38:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=9b8f7dcaa4c3c054d4e3e1edc7e0780167d2a59a'/>
<id>9b8f7dcaa4c3c054d4e3e1edc7e0780167d2a59a</id>
<content type='text'>
Since we don't need to add any additional context or messages here, we
can turn off error context for these variants and shorten error
propagation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we don't need to add any additional context or messages here, we
can turn off error context for these variants and shorten error
propagation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation</title>
<updated>2020-07-04T13:33:59+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-04T13:33:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=5a207c6649a67871c209f8e1634efcbcc719bee6'/>
<id>5a207c6649a67871c209f8e1634efcbcc719bee6</id>
<content type='text'>
Write doc comments for functions and types, and include a short example.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Write doc comments for functions and types, and include a short example.
</pre>
</div>
</content>
</entry>
<entry>
<title>server::internal_server_error: Change `match` to `unwrap_or_else`</title>
<updated>2020-07-04T01:44:48+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-04T01:44:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=d125b25f4245df3d0eb80aa726c2a7039945f3de'/>
<id>d125b25f4245df3d0eb80aa726c2a7039945f3de</id>
<content type='text'>
Reduce a few lines.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduce a few lines.
</pre>
</div>
</content>
</entry>
<entry>
<title>server: Log errors</title>
<updated>2020-07-04T01:28:02+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2020-07-04T01:28:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fastcgi-conduit/commit/?id=ab8b50d5b98ab071c5f70d929f1ca76f3faf71ca'/>
<id>ab8b50d5b98ab071c5f70d929f1ca76f3faf71ca</id>
<content type='text'>
Provide a mechanism to get detailed error messages when 500 internal
server errors happen.

We don't want to expose any detailed error information to clients, but
it would be useful for administrators to know the cause of any errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide a mechanism to get detailed error messages when 500 internal
server errors happen.

We don't want to expose any detailed error information to clients, but
it would be useful for administrators to know the cause of any errors.
</pre>
</div>
</content>
</entry>
</feed>
