<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pakakeh.go, branch v0.8.2</title>
<subtitle>Collections of packages and tools for working with Go programming language.</subtitle>
<id>http://git.kilabit.info/pakakeh.go/atom?h=v0.8.2</id>
<link rel='self' href='http://git.kilabit.info/pakakeh.go/atom?h=v0.8.2'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/'/>
<updated>2019-09-05T15:51:11Z</updated>
<entry>
<title>share v0.8.2</title>
<updated>2019-09-05T15:51:11Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-09-05T15:51:11Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=c53eef929c962cb374dcacc578eaf860b5a681ec'/>
<id>urn:sha1:c53eef929c962cb374dcacc578eaf860b5a681ec</id>
<content type='text'>
*  http: make the request body always available even after ParseForm()

Previously, if the request type is query, form, or JSON, we call the
ParseForm() to let the http.Request read the Body POST form data and fill
the Form and/or PostForm fields.  This  method will cause the request
Body will become empty since its already read and closed.
One of use case of POST with form data is to check the integrity of POST
body using checksum, which is not possible using only ParseForm().
This commit read all the body first into reqBody and recreate the request
Body back using ioutil.NopCloser and bytes.Buffer.

*  all: replace document generator from asciidoctor to ciigo

Previously, generating HTML files from asciidoc files require installing
ruby, asciidoctor, and its dependency through Gemfile.
To simplify this, we replace it with ciigo.  Ciigo not only can convert
the asciidoc files but it also support serving the file inside HTTP
server and watching changes on asciidoc files during development for
local previewing.

*  memfs: log and ignore error from NewNode

An error for calling NewNode should not stop processing all files
in directory.

*  io: log and ignore error from NewNode

An error for calling NewNode should not stop processing all files
in directory.
</content>
</entry>
<entry>
<title>all: fix test for Go 1.13</title>
<updated>2019-09-05T15:43:55Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-09-05T15:43:55Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=ffd23b2b1fe37b7699c133471b785212741743f0'/>
<id>urn:sha1:ffd23b2b1fe37b7699c133471b785212741743f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>memfs: replace if-statement with two conditions with nested if-statements</title>
<updated>2019-08-28T17:53:31Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-08-28T17:53:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=a8efbba8519f447da2fb24e0a9168d2b11f1e151'/>
<id>urn:sha1:a8efbba8519f447da2fb24e0a9168d2b11f1e151</id>
<content type='text'>
This changes mostly for readibility.  It becomes harder to read and trace
the  state of double conditions on New() method.
</content>
</entry>
<entry>
<title>lib/io: log and ignore error from NewNode</title>
<updated>2019-08-28T17:11:24Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-08-28T17:11:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=9e7e3ee2def1b6141143b5e4dc27a976f5ec779d'/>
<id>urn:sha1:9e7e3ee2def1b6141143b5e4dc27a976f5ec779d</id>
<content type='text'>
An error for calling NewNode should not stop processing all files
in directory.
</content>
</entry>
<entry>
<title>memfs: log and ignore error from NewNode</title>
<updated>2019-08-28T17:11:01Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-08-28T17:11:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=00fcc777782b9fce794f265e36156dc3d8b5c6f0'/>
<id>urn:sha1:00fcc777782b9fce794f265e36156dc3d8b5c6f0</id>
<content type='text'>
An error for calling NewNode should not stop processing all files
in directory.
</content>
</entry>
<entry>
<title>all: replace document generator from asciidoctor to ciigo</title>
<updated>2019-08-28T16:59:56Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-08-28T16:59:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=292bbb29aa44ff3a1632b27715596b2b00b77589'/>
<id>urn:sha1:292bbb29aa44ff3a1632b27715596b2b00b77589</id>
<content type='text'>
Previously, generating HTML files from asciidoc files require installing
ruby, asciidoctor, and its dependency through Gemfile.

To simplify this, we replace it with ciigo.  Ciigo not only can convert
the asciidoc files but it also support serving the file inside HTTP
server and watching changes on asciidoc files during development for
local previewing.
</content>
</entry>
<entry>
<title>lib/http: make the request body always available even after ParseForm()</title>
<updated>2019-08-07T08:07:54Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-08-07T08:07:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=c4468122196b768c71c0abe4edc57265905decdf'/>
<id>urn:sha1:c4468122196b768c71c0abe4edc57265905decdf</id>
<content type='text'>
Previously, if the request type is query, form, or JSON, we call the
ParseForm() to let the http.Request read the Body POST form data and fill
the Form and/or PostForm fields.  This  method will cause the request
Body will become empty since its already read and closed.

One of use case of POST with form data is to check the integrity of POST
body using checksum, which is not possible using only ParseForm().

This commit read all the body first into reqBody and recreate the request
Body back using ioutil.NopCloser and bytes.Buffer.
</content>
</entry>
<entry>
<title>share v0.8.1</title>
<updated>2019-08-05T15:24:37Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-08-05T06:06:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=3e38fa2394d9fce2552d03b610e3b24f896f366b'/>
<id>urn:sha1:3e38fa2394d9fce2552d03b610e3b24f896f366b</id>
<content type='text'>
*  lib/ini: add functions to marshal/unmarshal bytes from/to struct.

   The format to marshal/unmarshal ini stream is behave like JSON.

*  lib/memfs: add method to encode the content of file.

   The ContentEncode() method encode each node's content into specific
   encoding, in other words this method can be used to compress the
   content of file in memory before being served or written.

   Only file with size greater than 0 will be encoded.

   List of known encoding is "gzip".

*  lib/memfs: ignore generated output filename on GoGenerate

   In case the user Mount() the directory that include the generated
   output file, we want that file to be excluded from .go static source.

*  lib/memfs: set the Node Size to be zero if node is directory
</content>
</entry>
<entry>
<title>lib/memfs: set the Node's Size to zero if node is directory</title>
<updated>2019-08-05T15:24:27Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-08-05T05:33:05Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=6a7af1bcdc9df1be93f85987bbfb4bd5ca4ee964'/>
<id>urn:sha1:6a7af1bcdc9df1be93f85987bbfb4bd5ca4ee964</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/memfs: ignore generated output filename on GoGenerate</title>
<updated>2019-08-05T15:20:50Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-08-05T05:32:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=ebadc5f7ad8ae64fd8bc8357efee6fbbd4e55025'/>
<id>urn:sha1:ebadc5f7ad8ae64fd8bc8357efee6fbbd4e55025</id>
<content type='text'>
In case the user Mount() the directory that include the generated output
file, we want that file to be excluded from .go static source.
</content>
</entry>
</feed>
